在MongoDB中找到填充嵌套数组的文档并重新塑造文档结果
首先让我们创建一个包含文档的集合-
> db.demo187.insertOne(
... {
... "_id" : "101",
... "Details" : [
... { "Subject" : "MongoDB" },
... { "Subject" : "MySQL" }
... ]
... }
...);
{ "acknowledged" : true, "insertedId" : "101" }
> db.demo187.insertOne(
... {
... "_id" : "102",
... "Details" : [
... { }
... ]
... }
...);
{ "acknowledged" : true, "insertedId" : "102" }
> db.demo187.insertOne(
... {
... "_id" : "103",
... "Details" : [
... { "Subject" : "MongoDB" },
... { "Subject" : "MySQL" }
... ]
... }
...);
{ "acknowledged" : true, "insertedId" : "103" }在find()方法的帮助下显示集合中的所有文档-
> db.demo187.find();
这将产生以下输出-
{ "_id" : "101", "Details" : [ { "Subject" : "MongoDB" }, { "Subject" : "MySQL" } ] }
{ "_id" : "102", "Details" : [ { } ] }
{ "_id" : "103", "Details" : [ { "Subject" : "MongoDB" }, { "Subject" : "MySQL" } ] }以下是在具有填充的嵌套数组的MongoDB文档中查找的查询-
> db.demo187.aggregate([
...
... {$unwind: '$Details'},
...
... {$project: {Subject: '$Details.Subject'}},
...
... {$match: {Subject: {$exists: true}}}
... ])这将产生以下输出-
{ "_id" : "101", "Subject" : "MongoDB" }
{ "_id" : "101", "Subject" : "MySQL" }
{ "_id" : "103", "Subject" : "MongoDB" }
{ "_id" : "103", "Subject" : "MySQL" }热门推荐
10 教练生日祝福语 简短独特
11 学生节祝福语简短大全
12 简短对公司的祝福语
13 离校退群祝福语简短
14 发小结婚简短祝福语
15 直播生孩子祝福语简短
16 九子订婚祝福语简短
17 元旦的祝福语简短 公司
18 贫困户祝福语简短