作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在处理以下文档
{
"_id" : 12,
"firstName" : "wer",
"People" : [
{
"uuid" : "123",
"name" : "sugun",
"person" : [
{
"uuid" : "add32",
"name" : "ssss"
},
{
"uuid" : "fdg456",
"name" : "gfg"
}
]
},
{
"uuid" : "222",
"name" : "kiran"
}
]
}
我想得到如下输出
{
"_id" : 456,
"People" : [
{
"uuid" : "123",
"name" : "sugun",
"person" : [
{
"uuid" : "add32",
"name" : "ssss"
}
]
}
]
}
当我在 mongo shell 中使用以下命令时,它会给出我需要的输出
db.people.aggregate([
{$match: {_id: 12}},
{$unwind: "$People"},
{$unwind: "$People.person"},
{$match: {"People.uuid": "123", "People.person.uuid" : "add32"}}
])
但是当我在我的 meteor 应用程序聚合中使用相同时,它不起作用......那么我可以使用 find 或 findOne 方法来做同样的事情吗............或者是否有可能在我的 meteor 应用程序中使用聚合函数......
最佳答案
通过使用 rawCollection
,您可以传入您在 mongo shell 中使用的同一管道。
无需安装第三方包即可。
const stats = await MyCollection.rawCollection()
.aggregate([
{$match: {_id: 12}},
{$unwind: "$People"},
{$unwind: "$People.person"},
{$match: {"People.uuid": "123", "People.person.uuid" : "add32"}}
])
.toArray();
关于mongodb - 如何在 meteor 中使用聚合函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28425316/
我是一名优秀的程序员,十分优秀!