更新mongoose中的奇怪行为

时间:2014-02-06 13:33:25

标签: node.js mongoose

我想要更新我的Db。

我的脚本是:

db.model( 'User', userSchema, usersCollection ).update(
    { _id: mongoose.mongo.BSONPure.ObjectID.fromString(obj_param._id) },
    { $set: {username: "peter"} },
    { upsert: false, multi: false }, function( err, nUpdated ){
        if( err ) {
            console.log(err)
        }else {
            console.log("OK");
        }
    })

此脚本有效,但如果我使用

var obj = {username: "peter"}

然后

db.model( 'User', userSchema, usersCollection ).update(
    { _id: mongoose.mongo.BSONPure.ObjectID.fromString(obj_param._id) },
    { $set: obj },
    { upsert: false, multi: false }, function( err, nUpdated ){
        if( err ) {
            console.log(err)
        }else {
            console.log("OK");
        }
    })

我收到此错误

[Error: Invalid atomic update value for $set. Expected an object, received string]

0 个答案:

没有答案