我目前正在我的控制器中使用Mongoose和我的Express应用程序。到目前为止,我一直在导入模型,然后成功运行查询。现在,我正在设置一个cron文件(名为cron.js
),并且有一个以相同方式导入它的文件,但是当我从package.json
脚本运行文件时,承诺中的代码从不执行;没有回报价值。这是运行我的文件的脚本中的代码:
babel-node server/db/cron.js
我尝试了一些事情:
import User from '../models/user';
User.find({}, function(err, users) {
// these don't run:
console.log(err);
console.log(users);
})
async function getUser() {
// runs
console.log('hi');
let user = await User.findOne({ 'name' : 'ETH'})
// doesn't run
console.log(user);
}
getUser();
User.findOne({ name: 'bob' })
.exec((err, user) => {
// doesn't run
console.log('123')
}
当我console.log
模型(User
)和函数(User.find
)成功导入时。我还试过findOne
。
答案 0 :(得分:0)
您需要致电.exec()
:
let user = await User.findOne({ 'name' : 'ETH'}).exec()
findOne()
返回Query
,返回Promise
,然后您调用.exec()
http://mongoosejs.com/docs/api.html#findone_findOne http://mongoosejs.com/docs/api.html#query_Query-exec