我有一个问题,我希望能够得到一个集合的所有唯一城市,我的代码看起来像这样:
var mongoose = require("mongoose"),
Schema = mongoose.Schema;
var PersonSchema = new Schema({
name: String,
born_in_city: String
});
var Person = mongoose.model('Person', PersonSchema);
在本地 MongoDb 中,我可以只执行 db.person.distinct("born_in_city")
,但似乎没有任何与 Mongoose 相当的操作。是我自己迭代所有文档来完成这项工作的唯一选择,还是有更好的解决方案?
为了按照答案中的建议使用基础 node-mongodb-native
,我试图这样做:
mongoose.connection.db.collections(function(err, collections){
collections[0].distinct('born_in_city', function( err, results ){
console.log( err, results );
});
});
但是 results
是空的,没有错误。如果可能的话,我还希望能够仅通过名称获取所需的集合,而不是必须过滤 collections
返回的内容。