在MongoDB操作中使用变量的值

  • 本文关键字:变量 MongoDB 操作 mongodb
  • 更新时间 :
  • 英文 :


我正在尝试运行以下操作:

db[coll].update({'_id': "CNY.XX.X" },{ $unset: {"20201030": 1 }});

更新集合并删除字段:";20201030";从文档中,其工作并去除字段"0";20201030";,

现在,我想存储";20201030";在变量中,并在操作中使用它,但如果我运行:

id_val = "CNY.XX.X.";
date = "20201030";
db[coll].update({'_id': id_val },{ $unset: {date: 1 }});

这不起作用,因为字段";20201030";仍然存在。有人知道为什么吗?

不能将变量用作查询。

现在,我假设您使用的是Node.js(也许还有mongoose(,所以一种方法是创建一个新对象。

注意,$unset: {"20201030": 1 }类似于$unset : object,其中对象是{"20201030": 1 }。所以你必须以这种方式创建这个对象:

var queryParam = {};
queryParam["20201030"] = 1;
db[coll].update({'_id': "CNY.XX.X"},{"$unset":queryParam})

最新更新