为了简单起见,我已经简化了这个问题。将值传递给函数,如果没有具有 {field1: value} 的文档,则创建该文档;否则,调用另一个函数。但是,这个查询总是会找到一个文档,或者无论如何都会触发whatever_function()。为什么我不能让 (!doc) 为真?除此问题外,此数据库可正常运行并进行适当的查询/更新。
db.doc.find({field1: value}, function(err, doc) {
if (!doc) {
db.doc.save({field1: value});
}
else {
whatever_function();
}
});