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,我们将只获得数组中第一个匹配的元素。我们如何获得多个匹配元素??