更改字符串键字段后,mongoose findOne返回null

时间:2014-07-03 15:39:12

标签: node.js mongodb mongoose mongodb-query

我使用的是mongo db 2.6,我有一个用户集合。 用户Schema有一个"电子邮件"字段,这是我记录的唯一键。 在某些阶段我必须更改密钥,所以我这样做,但似乎在那之后使用该新密钥的findOne失败了:

var userObject = {"email" : "test123@gmail.com", ....}
var oldEmail = "tmp_email_123";

User.updateAsync({email: oldEmail},{$set : userObject))
.then (function( affected) {
    User.findOneAsync({ 'email' :  userObject.email}) <---- this returns null
})

但是,在mongo控制台中对数据库运行时,显示更新成功

db.users.find({"email":"test123@gmail.com"}) <---- returns the updated record.

有任何线索可能会发生这种情况吗? 我一直在寻找和删除这段代码几个小时,没有任何线索。

谢谢! d。

0 个答案:

没有答案