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

发布于 2025-01-11 06:54:27 字数 636 浏览 2 评论 0原文

我正在 MongoDB 上工作。我正在尝试将一些新的键值对附加到我现有的集合中。我的收藏中有超过 50 个文档,我想在所有文档中更新一个新的键值对。在我添加的新键值对中,键值之一应该来自同一集合的现有键值对之一。 例如:

{ name : "algebra", quantity : 25 }

现在我想更新每个文档,而

{ category : "maths" , available_quantity : 25 }

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

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

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

I am working on MongoDB. I am trying to append some new key-value pairs to my existing collection. I got more than 50 documents in my collection, in all of which I want to update a new key value pair. In the new key value pair I am adding, one of the values of the key should be from one of the existing key value pair of the same collection.
For example:

{ name : "algebra", quantity : 25 }

Now I want to update each of the document with

{ category : "maths" , available_quantity : 25 }

Without entering distinctly for every document its available quantity. I want it to be picked from it's respective quantity's value, and be inserted in the new key available_quantity.
I am using the code to update the document :

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

What best can I put in __ ? __ block?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜访吸血鬼 2025-01-18 06:54:28

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

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

工作示例

You can do it with Aggregation framework:

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

Working example

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文