Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 返回Mongod查询_Javascript_Node.js_Mongodb_Mongoose_Distinct Values - Fatal编程技术网

Javascript 返回Mongod查询

Javascript 返回Mongod查询,javascript,node.js,mongodb,mongoose,distinct-values,Javascript,Node.js,Mongodb,Mongoose,Distinct Values,我有下一个问题: 使用distinct进行查询时,仅返回名称属性数组,例如: var promise = clients.distinct("name", {"id_client_group": id_clientGroup, "id_client": id_client, "status": "active"}).exec(); 退回这个: ["client2, client3"] 当我需要对象的所有属性时 例如: 我尝试过进行常规搜索,并根据mongodb驱动程序返回完整的对象数组,这是

我有下一个问题: 使用distinct进行查询时,仅返回名称属性数组,例如:

var promise = clients.distinct("name", {"id_client_group": id_clientGroup, "id_client": id_client, "status": "active"}).exec();
退回这个:

["client2, client3"]
当我需要对象的所有属性时 例如:


我尝试过进行常规搜索,并根据mongodb驱动程序返回完整的对象数组,这是distinct的预期行为

distinct命令返回集合中给定键的不同值列表

您应该尝试聚合,但我不确定在重复数据的情况下您要查找哪种数据

clients.aggregate([
    {$match: {"id_client_group": id_clientGroup, "id_client": id_client, "status": "active"}},
    {$group: {_id: "$name", mail:{$first:"$mail"}}}
])

您可能希望在group阶段尝试其他表达式,基于mongodb驱动程序签出文档,这是distinct的预期行为

distinct命令返回集合中给定键的不同值列表

您应该尝试聚合,但我不确定在重复数据的情况下您要查找哪种数据

clients.aggregate([
    {$match: {"id_client_group": id_clientGroup, "id_client": id_client, "status": "active"}},
    {$group: {_id: "$name", mail:{$first:"$mail"}}}
])

您可能希望在分组阶段尝试其他表达式,签出文档

对于名称相同但邮件不同的文档,您希望得到什么结果?谢谢@AlexBlex,结果就是一个示例,我需要的是数据类型。定义数据类型。这是什么意思?@AlexBlex,对不起,听我解释。我的意思是,当执行distinct时,我得到一个具有不同名称的数组,我需要一个具有完整对象的数组,而不仅仅是我得到的这个部分的名称。我在问如果两个对象具有相同的名称,您对结果的期望是什么。对于具有相同名称但不同邮件的文档,您期望得到什么结果?谢谢@AlexBlex,结果就是一个示例,我需要的是数据类型。定义数据类型。这是什么意思?@AlexBlex,对不起,听我解释。我的意思是,当执行distinct时,我得到一个具有不同名称的数组,我需要一个具有完整对象的数组,而不仅仅是我得到的这个部分的名称。我在问如果两个对象具有相同的名称,您对结果的期望是什么。您可以用数据替换邮件:{$first:$mail},以获取整个文档:{$push:$$ROOT}。我相信这就是OP想要的。谢谢,这正是我需要的。您可以用数据替换邮件:{$first:$mail},以:{$push:$$ROOT}我想这就是OP想要的。谢谢,这就是我需要的。