0

我正在尝试使用传入的字符串变量更新 mongo 中的数据库。但是,Javascript 会自动强制变量类型,并在数据库中创建一个“类型”键,而不是字符串类型指向的内容(比如说“通知“ 例如)

"update_notifications": function (id ,type ,callback) {
  db.collection("backend_users", function(err, collection) {
    collection.update(
      {"_id": new mongodb.ObjectID(id)},
      { $bit: { type : { xor: 1 } } },
      function (err) {
        if (err) { console.log(color.red(err)); }
        callback(err);
      }
    );
  });
},

是否有强制 mongo 使用“通知”而不是创建新的“类型”键?谢谢!

4

1 回答 1

0

你基本上想在这样的语句之外构造你的“更新”对象

"update_notifications": function (id ,type ,callback) {
    var update = { "$bit": { } };
    update["$bit"][type] = { xor: 1 };

  db.collection("backend_users", function(err, collection) {
    collection.update(
      {"_id": new mongodb.ObjectID(id)},
      update,
      function (err) {
        if (err) { console.log(color.red(err)); }
        callback(err);
      }
    );
  });
},

“左侧”始终被视为对象表示法中的字符串文字,但您可以按所示方式分配

于 2014-06-18T00:58:22.583 回答