我有下一个问题: 当我使用不同的查询时,只返回一个名称属性数组,例如:
var promise = clients.distinct("name", {"id_client_group": id_clientGroup, "id_client": id_client, "status": "active"}).exec();
返回这个:
["client2, client3"]
当我需要对象的所有属性时 示例:
[
{
name: "client1",
mail: "mail@1"
},
{
name: "client2",
mail: "mail@2"
}
]
我已尝试进行正常搜索并返回完整的对象数组
最佳答案
基于 mongodb 驱动 API doc ,这是 distinct 的预期行为。
The distinct command returns returns a list of distinct values for the given key across a collection.
您应该改为尝试聚合,但我不确定在重复数据的情况下您要查找哪种数据。
clients.aggregate([
{$match: {"id_client_group": id_clientGroup, "id_client": id_client, "status": "active"}},
{$group: {_id: "$name", mail:{$first:"$mail"}}}
])
你可能想在小组赛阶段尝试一些其他的表达方式,查看文档 here
关于javascript - 返回 Mongodb 查询 Distinct,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48186942/