我想从mongodb中检索不同的记录。我尝试了以下方法,
Model.find()
.distinct('username')
.where({ age: 21 })
.exec(function(err, user) { });
但是我得到的错误如下。
TypeError: Object [object Object] has no method 'distinct'.
请帮忙。
答案 0 :(得分:1)
这些功能实际上并不是你想要的,而且有更好的方法可以获得帆所使用的模型中的“好东西”。
你真的想要这个aggregate方法,作为样本,你的等价物将是:
Model.native(function(err,collection){
collection.aggregate([
{ "$match": { "age": 21 } },
{ "$group": { "_id": '$username' } }
],function(err,docs) {
// something here
});
});
有关更多内容部分,请查看this answer以获取有关聚合框架的更多链接。