0
查詢的數據:如何在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 2013-03-26 11:07:56