【问题标题】:Mongo and node js a query to return with no duplicates , distinctMongo 和 node js 一个查询返回,没有重复,不同
【发布时间】:2019-12-13 15:23:07
【问题描述】:

我们如何在 mongo 中查询结果中没有重复的地方,我尝试使用 distinc 但它似乎不起作用。

查询

keystone.list('Customer').model.find().sort('name').where('vin').in([vin]).exec(

function (err, results) {

    if (err || !results.length) {
        return next(err);
    }
    .....    

【问题讨论】:

  • 你要先搞清楚。重复的文档是完全一样的还是只有一些字段是一样的?如果只有一个字段相同,您可以使用 .distinct(fieldName) 来获取不同的值。如果它们完全相似,我认为将重复的文档存储在数据库中是不合适的。提供一些示例文档。
  • 只是一个字段是一样的
  • 你能在下面提供样品吗?
  • 我试过用 distinc 不行

标签: javascript node.js mongodb distinct keystonejs


【解决方案1】:
keystone.list('Customer').model.find().distinct('customer_id')
  .where('fieldName', 'fieldValue')
  .exec(function(err, result) {
    //array of _ids
  });

然后在 $in 查询中传递所有 id 以获取所有记录。

【讨论】:

  • keystone.list('Customer').model.find().distinct('customer_id').where('vin').in([vin]).exec(function (err,结果){
  • 我指的是他的唯一ID。请查看更新
  • 过滤后,它只会给他不同的文档。不要随意投反对票。
  • 版主请查看
猜你喜欢
  • 2017-07-19
  • 2016-07-12
  • 2020-06-20
  • 2020-03-22
  • 1970-01-01
  • 2015-07-15
  • 1970-01-01
  • 2020-08-23
  • 2022-01-15
相关资源
最近更新 更多