Mongodb中数组对象内的字段
示例结构如下所示:Mongodb中数组对象内的字段,mongodb,Mongodb,示例结构如下所示: { "_id": 1, "College_name" : "abcdef" "Students": [ { "name": "a", "Grade": "First" }, { "name": "b", "Grade": "Second" }, { "name": "c", "Grade": "First" }, { "name": "d", "Grade": "First" } ] } 我没有得到的是-我想得到数组
{
"_id": 1,
"College_name" : "abcdef"
"Students": [
{
"name": "a",
"Grade": "First"
},
{
"name": "b",
"Grade": "Second"
},
{
"name": "c",
"Grade": "First"
},
{
"name": "d",
"Grade": "First"
}
]
}
我没有得到的是-我想得到数组中的所有(“年级”:“第一”)对象,并且只将(“年级”:“第一”)对象插入到(“学院名称”:“abcdef”)的其他集合中。这方面的最佳解决方案是什么?
这是否可以通过聚合实现??
请帮我解决这个问题。您可以使用聚合或mongo查询获取具有{“Grade”:“First”}的数据- 聚合查询-
db.coll.aggregate([{'$match':{"Students.Grade":"First"}}, {$project: {"_id":1, "College_name":1}}])
Mongo查询-
db.coll.find({"Students.Grade":"First"}, {"College_name":1})
之后,您可以将数据插入其他集合。此问题的答案在链接中: i、 e。, 聚合查询将有4个管道运算符:
[match, unwind, match, group]
然后可以插入到另一个集合。是的,这很有效。但是我只想检索具有{“Grade”:“First”}where(“College_name”:“abcdef”)的对象。i、 例如,输出不应包含带有(名称:“b”)的子文档。使用$in和$projection,我们将只获得数组中第一个匹配的元素。我们如何获得多个匹配元素??