如何传递在MongoDB查询中串联的变量?

g

以下'cars.$.'+item串联不适用于MongoDB查询。
循环应该查询'cars.color''cars.year''cars.manufacturer'

你怎么写它,所以它通过循环是否正常?

let car ={
color: 'blue',
year: 2007,
manufacturer: 'Honda'
}  

Object.keys(car).forEach(key => {
  col.updateOne({'cars.$.'+key: car[key]});
});
米克尔

您需要方括号来在JS中动态构建对象键:

col.updateOne(query, { $set: {['cars.$.'+key]: car[key]} });

另外,updateOne您可以构建一条$set语句,而不是在多次调用数据库的循环中运行

let car ={
   color: 'blue',
   year: 2007,
   manufacturer: 'Honda'
}

let set = {};

Object.keys(car).forEach(key => { set['car.' + key] = car[key] });

let update = { $set: set }
console.log(update);

有关如何在此处使用的更多$set 信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章