javascript - 返回 Mongodb 查询 Distinct

标签 javascript node.js mongodb mongoose distinct-values

我有下一个问题: 当我使用不同的查询时,只返回一个名称属性数组,例如:

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/

相关文章:

node.js - 如何在nodejs应用程序中输出mongodb集合以获取它们的响应

Mongodb 导出嵌套字段

javascript - 触发从 iframe 到父文档的自定义事件

node.js + 连接 404 错误

javascript - 使用 AJAX POST 到 Node 服务器

node.js - 在 node.js 中,如果没有收到来自 http 请求的响应,你怎么知道?

将 Spring Boot Starter Web 依赖项与 Mongo Driver 3.11.0 一起使用时出现 java.lang.NoSuchMethodError

javascript - Angularjs 如何在两个模态之间进行通信

javascript - JQuery UI 在 WordPress 中的其他脚本之后加载

php - 使用 AJAX 从 MySQL 获取数据