данных:как запросить в MongoDB
[{
"shop_ID" : "ABCD",
"plan" : 2,
"planType" : 2,
"goods_id" : "9612",
"category" : "1",
"keywords" : [
{
"keyword" : "lianyiqun",
"price" : 3.12,
"score" : 9
},
{
"keyword" : "nvzhuang",
"price" : 6.57,
"score" : 6
},
{
"keyword" : "chunzhuang",
"price" : 5.55,
"score" : 8
}
]
},
{
"shop_ID" : "ABCD",
"plan" : 2,
"planType" : 2,
"goods_id" : "5078",
"category" : "1",
"keywords" : [
{
"keyword" : "lianyiqun",
"price" : 9.26,
"score" : 8
},
{
"keyword" : "nvzhuang",
"price" : 4.52,
"score" : 9
}
]
}]
я использовал команду запроса:
db.test.find ({ "ключевые слова": {$ elemMatch: { "забьют": { «$ gte»: 8}}}})
результат был неправильным, это все документы.
И, используйте команду db.test.find ({ "ключевые слова". Счет ": {" $ GTE ": 8}}).
результат тот же
Я хочу результат запроса, как это для первого документа:
{
"shop_ID" : "ABCD",
"plan" : 2,
"planType" : 2,
"goods_id" : "9612",
"category" : "1",
"keywords" : [
{
"keyword" : "lianyiqun",
"price" : 3.12,
"score" : 9
},
{
"keyword" : "chunzhuang",
"price" : 5.55,
"score" : 8
}
]
},
Как запросить внутренний документооборот
Спасибо, Кей. Но у меня есть еще одно требование: если я хочу использовать это в операции mapreduce, но функция db.collection.mapReduce() не поддерживает агрегат. Если я напишу вот так: db.test.mapReduce ( mapFunction, reduceFunction, {out: "map_reduce_test", query: [{$ unwind: "$ keywords"}, {$ match: {"keywords.score" : {$ GTE: 8}}}], } ), выход: карта уменьшают не удалось: { \t "ErrMsg": "исключение: запрос должен быть пустым или объект", \t "код": 13608, \t "ok": 0 – normalnotebook