1

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

    db.doc.find({field1: value}, function(err, doc) {
        if (!doc) {
            db.doc.save({field1: value});
        }
        else {
            whatever_function();            
        }
    });
4

1 回答 1

2

Find 将光标返回到选定的文档。然后,您应该检查文档长度是否为 0。

于 2012-08-01T13:17:12.303 回答