Mongoose和Express,如何从db获取唯一记录?

时间:2018-01-27 15:06:03

标签: node.js mongodb mongoose

在我的数据库中,我有2-3条记录title(第一条)。 我怎样才能得到1个结果?

以下是我的代码无效,

app.get('/', (req, res) => {
  Article.find.distinct(title, (err, title) => {    
  if(err){
  console.log(err);
} else {
  console.log(articles);
  res.render('index', {
    title: 'Articles',
    articles: title
    });
   }
  });
});

但如果我使用,

Article.find({}, (err, title)

它有效,但我不需要对象,因为它们都是唯一的

我试过这个链接      How do I query for distinct values in Mongoose?

但它对我不起作用。

例如,我有记录:

一,二,一

但需要输出:一,二

1 个答案:

答案 0 :(得分:0)

您需要使用distinct运算符,并将所需的属性(此处为标题)作为参数传递,

app.get('/', (req, res) => {
  Article.distinct('title', function(error, titles) { //see the use of distinct
    if (err) {
       console.log(err);
    } else {
      console.log(articles);
      res.render('index', {
         title: 'Articles',
         articles: titles
      });
    }
  });
});

以下查询将返回title的数组,所有数据都是不同的。

希望这可以解决问题。