实际上我正试图通过field_value
进行独特的搜索。
例如:
{
"_id" : ObjectId("5aa83007d5f5f84350af30c7"),
"_tag" : "hi"
},
{
"_id" : ObjectId("5aa83007d5f5f80450af30c8"),
"_tag" : "hello"
},
{
"_id" : ObjectId("6aa83007d5f5f80450af30c8"),
"_tag" : "hello"
},
{
"_id" : ObjectId("5aa83007d5f5f80450ar30c7"),
"_tag" : "bye"
},
{
"_id" : ObjectId("5aa83117d5f5f80450ar30c7"),
"_tag" : "bye"
}
在此上下文中,以下查询返回[“hi”,“hello”,“bye]
查询:
db.collection("tags").distinct("_tag",function(err, result) {
if(err) throw err;
console.log(result)
db.close();
});
但我要问的是我如何能够通过“喜”或“你好”之类的价值等等来暗示?
答案 0 :(得分:1)
您可以尝试使用$in
仅保留所需的标记,然后使用$group
$addToSet来获取唯一值:
db.tags.aggregate([
{ $match: { "_tag": {$in:["hi","hello"] } } },
{ $group: { _id: null, _tags: { $addToSet: "$_tag" } } }
])