【发布时间】:2021-11-14 09:46:21
【问题描述】:
数据结构:
Document:
{
"projects": {
"projectName" : String,
"employees": [String]
}
}
现在我想找到一个文档,其中包含一个名为“project1”的项目和一个员工“employee1”。
当我尝试仅通过嵌套项目对象中的一个属性进行查询时,似乎没有问题。 但是只要我还想访问嵌套数组。查询开始失败。
db.documents.find({'projects': { $elemMatch: { name: "project1", $elemMatch: { employees: 'employee1' } } })
我使用流星集合,所以它看起来像这样:
Documents.findOne({'projects': { $elemMatch: { name: "project1", $elemMatch: { employees: 'employee1' } } })
我也试过这个简单的方法:
db.collection.find({
"projects.projectName": "project1",
"projects.employees": "employee1"
})
但是没有用。
编辑:正如 J.F. 建议的那样。这个查询是正确的。但我有一个架构错误。改正后一切正常。
【问题讨论】:
-
this 你在找什么?
-
有点是的,我已经尝试过了,但对我来说,这个查询没有返回任何东西。也许是因为 Meteor Collections?
-
哦,伙计..我发现了问题...这是由于架构错误,您的解决方案是正确的
标签: javascript mongodb meteor