【发布时间】:2018-02-18 14:30:15
【问题描述】:
我在集合“mycoll”中有这样的文档结构:
{
"orderid" : "123",
"products" : {
"1" : [
{
"pId" : "1",
"name":"first prod"
}
],
"5" : [
{
"pId" : "5",
"name":"fifth prod"
}
]
}
}
我想在 products.name 类似于“第五”的所有文档中查找 orderid。请帮我处理 mongo 查询?
【问题讨论】:
-
我试过 db.getCollection('mycoll').find({'products.name':'fifth prod'}) ,只是想看看它是否与记录完全匹配,但这不是返回任何输出。
-
你的结构有缺陷。您可能真的想存储为
"products": [{ "pid": "1", "name": "first prod" },{ "pId": "5", "name": "fifth prod" }]。因此,您要么存储了错误的方式,要么不了解限制。不建议使用命名键更改路径,并且对数据库效率不高。改为使用易于查询的一致路径。