我的客户文件是这样构建的:
{
"name" : "blah"
"phone": "blah"
"customerId" : 123
},
{
"name" : "blah"
"phone": "blah"
"customerId" : 123
},
{
"name" : "blah"
"phone": "blah"
"customerId" : 256
}
我想要检索名称中包含" b"的完整文档。信:
Customer.find({"name": { '$regex' : req.query.name}})
诀窍,但我只希望每个customerId有一个,意思是我写的3个对象我希望2回来,一个是customerId 256,另一个是客户ID为123.
答案 0 :(得分:2)
您需要使用聚合框架:
Customer.aggregate(
[
{ "$match": { "name": { '$regex' : req.query.name } } },
{ "$group": {
"_id": "$customerId",
"name": { "$last": "$$ROOT" } } }
], callback(err, result)
)