Return 的 Mongodb 查询不同
Return of Mongod Query Distinct
我有下一个问题:
当我使用不同的查询时,只有 returns 名称属性数组,例如:
var promise = clients.distinct("name", {"id_client_group": id_clientGroup, "id_client": id_client, "status": "active"}).exec();
return 这个:
["client2, client3"]
当我需要对象的所有属性时
示例:
[
{
name: "client1",
mail: "mail@1"
},
{
name: "client2",
mail: "mail@2"
}
]
我已尝试进行正常搜索,return对象数组已完成
基于 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
我有下一个问题: 当我使用不同的查询时,只有 returns 名称属性数组,例如:
var promise = clients.distinct("name", {"id_client_group": id_clientGroup, "id_client": id_client, "status": "active"}).exec();
return 这个:
["client2, client3"]
当我需要对象的所有属性时 示例:
[
{
name: "client1",
mail: "mail@1"
},
{
name: "client2",
mail: "mail@2"
}
]
我已尝试进行正常搜索,return对象数组已完成
基于 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