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