我有需要像我需要搜索集合中的动态字段。
示例如下所示在一个集合中我想搜索title =“Toshiba Satellite Pro 4600 PIII800”,但标题将从文档更改为文档。Mongodb找到查询
第一个文件标题是指“xyz”,它是该文件的标题。
第二个文档标题指的是作为该文档标题的“abc”。
{
"_id" : ObjectId("5640bdec1b988de0be31724e"),
"xyz" : "Toshiba Satellite Pro 4600 PIII800",
"mappingData" : {
"title" : "xyz"
},
"_id" : ObjectId("5640bdec1b9435dfgdf43554b"),
"abc" : "Toshiba Satellite Pro 4600 PIII800",
"mappingData" : {
"title" : "abc"
}
}
请建议我查询以产生如预期的结果。
谢谢chridam。我试过了你的查询,但它返回的错误如下所示。 错误:{ \t “$ ERR”: “无法规范化查询:$的badValue和/或$/$,也必须是一个非空阵”, \t “代码”:17287 } –
当你运行'分贝.collection.distinct(“mappingData.title”)'你会得到什么,当然用你的实际集合名称替换集合? – chridam
对不起,这是我的错误。现在它工作,但不是我所期望的。 将这项工作即使对于一个映射数据也喜欢 { “_id”:物件( “5640bdec1b988de0be31724e”), “XYZ”: “东芝Satellite Pro的4600 PIII800”, “mappingData”:{ “称号” : “XYZ” }, “_id”:物件( “5640bdec1b9435dfgdf43554b”), “XYZ”: “东芝Satellite Pro的4600 PIII800”, “mappingData”:{ “称号”: “XYZ” } } –