我想将数据存储在一个全局变量中的MongoDB集合中,但我认为这不是最佳解决方案
var mongoose = require('mongoose');
mongoose.Promise = require('bluebird');
var myQuery = null;
// some other code
myQuery = Config.find({}).limit(1).exec(); // Config is a model
//later
console.log(myQuery._rejectionHandler0[0]);
结果是正确的:
{ _Geolocalisation: { _latitude: '123', _longitude: '145' },
__v: 0,
_Token: 'aaa',
_Dname: '10',
_Adresse: 'v56',
_Location: 'bs',
_FullName: 'aa',
_id: 573509f775c4dcdc1d26c101 }
答案 0 :(得分:0)
正如您所见,.exec()
调用会返回一个承诺,而不是结果本身。
因此,您需要执行以下操作才能稍后访问mQuery
的结果:
mQuery.then(function(results) {
console.log(results);
})
.catch(function(err) {
console.error(err);
});