我已经离开我的代码一年多了,并运行了 NPM 安装,因为它显然已经改变了:)
我的查询
var mongoose = require('mongoose'),
Clubs = mongoose.model('Clubs');
getNorsemanClubs: function(passData){
return new Promise(function (resolve) {
Clubs.find({norseman:true}, 'name teamID date norseman eleven').sort({ eleven : 'asc'})
.then(function(clubs){
console.info(clubs);
passData.clubs = clubs;
resolve(passData);
});
})
}
console.info(俱乐部);输出
在这里您可以看到它返回的是模型而不是俱乐部的结果。
我的模型
var mongoose = require('mongoose')
, Schema = mongoose.Schema;
/**
* User Schema
*/
var ClubsScheme = new Schema({
name: String,
teamID: { type: String, default: null },
date: { type: Date, default: Date.now},
norseman: {type: Boolean, default: false},
eleven: Number
})
mongoose.model('Clubs', ClubsScheme);
如何让它返回俱乐部列表?
俱乐部表充满了比赛数据。但我曾经从 'name teamID date Norseman 11'
获得返回,现在我只获得 :\
**使用 exec()
最佳答案
您需要执行 find
mongoose 查询方法,方法是使用 exec()
方法跟踪您的查询,以便它返回一个 Promise您的列表值已解决,因此请更改以下行:
Clubs.find({norseman:true}, 'name teamID date norseman eleven').sort({ eleven : 'asc'})
至:
Clubs.find({norseman:true}, 'name teamID date norseman eleven').sort({ eleven : 'asc'}).exec()
关于javascript - 使用查找查询返回结果 mongoose v4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40688334/