广告
返回顶部
首页 > 资讯 > 数据库 >如何使用 MongoDB 获取数组中包含另一个文档的所有文档?
  • 922
分享到

如何使用 MongoDB 获取数组中包含另一个文档的所有文档?

2023-10-22 10:10:22 922人浏览 泡泡鱼
摘要

为此,只需在 mongoDB 中使用点表示法和 find() 即可。让我们创建一个包含文档的集合 -> db.demo465.insertOne( ... { ... id: 101, ... details: [{ ..

为此,只需在 mongoDB 中使用点表示法和 find() 即可。让我们创建一个包含文档的集合 -

> db.demo465.insertOne(
... {
...    id: 101,
...    details: [{
...       Name: "Chris",
...       Info: {
...          Subject: "MonGoDB",
...          Marks:67
...       }
...    }, {
...          Name: "David",
...          Info: {
...             Subject: "Mysql",
...             Marks:78
...       }
...    }]
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e80421bb0f3fa88e2279061")
}
>
> db.demo465.insertOne(
... {
...    id: 102,
...    details: [{
...       Name: "Bob",
...       Info: {
...          Subject: "Java",
...          Marks:45
...       }
...    }, {
...          Name: "Carol",
...          Info: {
...             Subject: "C",
...             Marks:67
...          }
...       }]
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e80421cb0f3fa88e2279062")
}

借助 find() 方法显示集合中的所有文档 -

> db.demo465.find();

这将产生以下输出 -

{ "_id" : ObjectId("5e80421bb0f3fa88e2279061"), "id" : 101, "details" : [ { "Name" : "Chris",
"Info" : { "Subject" : "MongoDB", "Marks" : 67 } }, { "Name" : "David", "Info" : { "Subject" :
"mysql", "Marks" : 78 } } ] }
{ "_id" : ObjectId("5e80421cb0f3fa88e2279062"), "id" : 102, "details" : [ { "Name" : "Bob",
"Info" : { "Subject" : "Java", "Marks" : 45 } }, { "Name" : "Carol", "Info" : { "Subject" : "C",
"Marks" : 67 } } ] }

以下是获取数组中包含另一个文档的所有文档的查询 -

> db.demo465.find({"details.Name":"Bob"});

这将产生以下输出 -

{ "_id" : ObjectId("5e80421cb0f3fa88e2279062"), "id" : 102, "details" : [ { "Name" : "Bob",
"Info" : { "Subject" : "Java", "Marks" : 45 } }, { "Name" : "Carol", "Info" : { "Subject" : "C",
"Marks" : 67 } } ] }
您可能感兴趣的文档:

--结束END--

本文标题: 如何使用 MongoDB 获取数组中包含另一个文档的所有文档?

本文链接: https://www.lsjlt.com/news/438676.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作