将记录中的值从一个键复制到 mongodb 中的另一个键

copying values inside a record from one key to other in mongodb

我正在研究 MongoDB。我正在尝试将一些新的键值对附加到我现有的集合中。我的集合中有 50 多个文档,我想在所有这些文档中更新一个新的键值对。在我添加的新键值对中,键的值之一应该来自同一集合的现有键值对之一。 例如:

{ name : "algebra", quantity : 25 }

现在我想用

更新每个文档
{ category : "maths" , available_quantity : 25 }

无需为每份文件明确输入其可用数量。我希望从其各自的数量值中选取它,并将其插入到新密钥 available_quantity 中。 我正在使用代码更新文档:

db.books.update( {} , { $set : { category : "maths" , available_quantity : `__ ? __` }, false, true }

我可以在 __ ? __ 块中放入什么?

您可以使用聚合框架来完成:

db.books.update({},
[
  {
    "$set": {
      "available_quantity": "$quantity"
    }
  }
],
{
  multi: true
})

Working example