样本结构如下:
{
"_id": 1,
"College_name" : "abcdef"
"Students": [
{
"name": "a",
"Grade": "First"
},
{
"name": "b",
"Grade": "Second"
},
{
"name": "c",
"Grade": "First"
},
{
"name": "d",
"Grade": "First"
}
]
}
我没有得到的是 - 我希望获得数组中的所有(“Grade”:“First”)对象,并仅向其他对象插入(“Grade”:“First”)对象(“College_name”:“abcdef”)的集合。这个的最佳解决方案是什么? 这可能通过聚合?? 请帮我解决这个问题。
答案 0 :(得分:0)
您可以使用聚合或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})
之后,您可以将数据插入其他集合。
答案 1 :(得分:0)
这个问题的答案在链接中:
query to retrieve multiple objects in an array in mongodb
即, 聚合查询将有4个管道运算符:
[match, unwind, match, group]
然后可以插入其他集合。