Wil*_*iam 2 mongodb nosql aggregation-framework
问题是下一个问题:
但他们说使用聚合框架是可能的,这是可能的吗?
是的,可以使用聚合框架.
假设
tags 属性是一个集合(没有重复的元素)询问
这种方法会强制您展开结果并使用未展开的结果重新评估匹配谓词,因此它的效率非常低.
db.test_col.aggregate(
{$match: {tags: {$in: ["shirt","cotton","black"]}}},
{$unwind: "$tags"},
{$match: {tags: {$in: ["shirt","cotton","black"]}}},
{$group: {
_id:{"_id":1},
matches:{$sum:1}
}},
{$sort:{matches:-1}}
);
Run Code Online (Sandbox Code Playgroud)
预期成绩
{
"result" : [
{
"_id" : {
"_id" : ObjectId("5051f1786a64bd2c54918b26")
},
"matches" : 3
},
{
"_id" : {
"_id" : ObjectId("5051f1726a64bd2c54918b24")
},
"matches" : 2
},
{
"_id" : {
"_id" : ObjectId("5051f1756a64bd2c54918b25")
},
"matches" : 1
}
],
"ok" : 1
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2292 次 |
| 最近记录: |