在MongoDB文档中翻转字段

八月

例如,如果我有一个看起来像这样的文档:

{
    "a" : "val",
    "b" : "another val"
}

我如何翻转指定的字段,以便结果看起来像

{
    "b" : "val",
    "a" : "another val"
}

我已经尝试过db.collection.update({}, {$rename:{'a':'b', 'b':'a'}})但是出现错误Field name duplication not allowed with modifiers

尼尔·伦恩

这是一个经典的硬币洗牌问题。上面可能遗漏的是,field当您试图一步一步形成此更新时,总是会碰到指定的相同内容从逻辑上讲,您将必须分多个步骤进行操作:

db.collection.update({}, {$rename: { 'a': 'c' }})
db.collection.update({}, {$rename: { 'b': 'a' }})
db.collection.update({}, {$rename: { 'c': 'b' }})

但是我们可以做得更好,并且分两步避免碰撞

db.collection.update({}, {$rename:{ 'a': 'c', 'b': 'd' }})
db.collection.update({}, {$rename:{ 'c': 'b', 'd': 'a' }})

当然,这不是一个操作,它是不容易的,没有你不能引用另一个字段的值,并将其更新到另一个。

当然,只有在确实需要更改字段名称的情况下才这样做$重命名手册包括用例。如果您只想这种方式查看内容,只需对所需的表单进行$ project即可

 db.collection.aggregate([{$project: { a: "$b", b: "$a" }}])

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

文档中的Mongodb upsert字段

来自分类Dev

在MongoDb中的文档中添加字段

来自分类Dev

在文档的子字段中过滤mongodb游标

来自分类Dev

MongoDB:汇总子文档数组中的字段

来自分类Dev

在MongoDb中按深层文档字段排序

来自分类Dev

获取MongoDB文档中的字段列表?

来自分类Dev

mongodb在单数组文档中插入字段

来自分类Dev

文档中的Mongodb Indexing array字段

来自分类Dev

如何更新mongodb中的文档字段?

来自分类Dev

MongoDB:重命名集合中的字段(文档和子文档)

来自分类Dev

MongoDb:如何从文档中获取字段(子文档)?

来自分类Dev

如何在MongoDb中查找与数组中的字段和子文档字段匹配的文档

来自分类Dev

在MongoDB中按ID更新文档中的字段

来自分类Dev

在mongodb中的文档中删除字段-Rails + Mongoid

来自分类Dev

如何在mongodb中查询文档以比较数组中的字段?

来自分类Dev

如何在Apache NiFi中访问MongoDB文档中的字段

来自分类Dev

使用$ group对mongodb中多个子文档中的字段求和

来自分类Dev

在Mongodb中深度嵌套的文档中更新字段

来自分类Dev

使用findOne更新mongoDB文档中的子字段并保存

来自分类Dev

如何在MongoDB的子文档中添加额外的字段?

来自分类Dev

MongoDB $ n在嵌入式文档的某些字段中

来自分类Dev

使用Java更新MongoDB中的特定字段而不是整个文档

来自分类Dev

在mongodb中排除子文档数组中的字段

来自分类Dev

MongoDB-检查文档中的字段是否存在值

来自分类Dev

Java + MongoDB:更新文档中的多个字段

来自分类Dev

在MongoDB文档中向对象添加新字段

来自分类Dev

计算mongodb中的子文档字段和总数

来自分类Dev

Java + MongoDB:更新文档数量中的字段

来自分类Dev

在MongoDB中查找其数组字段包含某些子集的文档

Related 相关文章

  1. 1

    文档中的Mongodb upsert字段

  2. 2

    在MongoDb中的文档中添加字段

  3. 3

    在文档的子字段中过滤mongodb游标

  4. 4

    MongoDB:汇总子文档数组中的字段

  5. 5

    在MongoDb中按深层文档字段排序

  6. 6

    获取MongoDB文档中的字段列表?

  7. 7

    mongodb在单数组文档中插入字段

  8. 8

    文档中的Mongodb Indexing array字段

  9. 9

    如何更新mongodb中的文档字段?

  10. 10

    MongoDB:重命名集合中的字段(文档和子文档)

  11. 11

    MongoDb:如何从文档中获取字段(子文档)?

  12. 12

    如何在MongoDb中查找与数组中的字段和子文档字段匹配的文档

  13. 13

    在MongoDB中按ID更新文档中的字段

  14. 14

    在mongodb中的文档中删除字段-Rails + Mongoid

  15. 15

    如何在mongodb中查询文档以比较数组中的字段?

  16. 16

    如何在Apache NiFi中访问MongoDB文档中的字段

  17. 17

    使用$ group对mongodb中多个子文档中的字段求和

  18. 18

    在Mongodb中深度嵌套的文档中更新字段

  19. 19

    使用findOne更新mongoDB文档中的子字段并保存

  20. 20

    如何在MongoDB的子文档中添加额外的字段?

  21. 21

    MongoDB $ n在嵌入式文档的某些字段中

  22. 22

    使用Java更新MongoDB中的特定字段而不是整个文档

  23. 23

    在mongodb中排除子文档数组中的字段

  24. 24

    MongoDB-检查文档中的字段是否存在值

  25. 25

    Java + MongoDB:更新文档中的多个字段

  26. 26

    在MongoDB文档中向对象添加新字段

  27. 27

    计算mongodb中的子文档字段和总数

  28. 28

    Java + MongoDB:更新文档数量中的字段

  29. 29

    在MongoDB中查找其数组字段包含某些子集的文档

热门标签

归档