使用upsert时无法将新数据推送到数组中

用户名

使用upsert时,我无法将new_data推入数组

如何使用upsert插入/更新一个文档?

history 是一个数组。

顺便说一句,gemmongo的数据似乎远不如Pythonor受欢迎Javascript

gemmongo是否具有比其他语言少的功能并且有更多的bug?

ArgumentError:参数数目错误(1..2为3)

[64] pry(#<Scoot>)> @db.data_collection.find({_id: data[:_id]}).update_one(
[64] pry(#<Scoot>)*   {data: data,
[64] pry(#<Scoot>)*     from: from_city,
[64] pry(#<Scoot>)*   },
[64] pry(#<Scoot>)*   {:$push => { "history" => new_data }},
[64] pry(#<Scoot>)*   :upsert => true,
[64] pry(#<Scoot>)*   :safe => true
[64] pry(#<Scoot>)* )
ArgumentError: wrong number of arguments (3 for 1..2)

Mongo :: Error :: OperationFailure:'$ push'中以美元($)为前缀的字段'$ push'无效,无法存储。(52)

@db.data_collection.find({_id: data[:_id]}).update_one(
  {data: data,
    from: from_city,
    :$push => { "history" => new_data },
    },
  :upsert => true,
  :safe => true
)

更新GEM MONGO 2.0.4

collection.find({_id: data[:_id]}).update_one(
  {
    "$set" => {
      "city" => from_city
    },
    "$push": => { "history" => new_data }
  },
  :upsert => true
)

错误

SyntaxError: unexpected tSTRING_DEND, expecting end-of-input
[105] pry(#<Scoot>)> :upsert => true
SyntaxError: unexpected =>, expecting end-of-input
:upsert => true
          ^
[105] pry(#<Scoot>)> )
SyntaxError: unexpected ')', expecting end-of-input
用户名

假设您在这里使用2.X驱动程序系列。通常,问题在于:$push语法不受支持,因此您编写的方式有所不同。此外,:safe无论您从哪里读到它,都已久不推荐使用。另外,"$set当您要设置对象的特定字段时,可以使用:

@db.data_collection.find({ _id: data[:_id]}).update_one({
      "$set" => { 
          "data" => data,
          "city" => from_city
      },
      "$push" => { "history" => new_data }
  },
  :upsert => true
) 

请参阅有关的文档 update_one

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用ngOnInit中的foreach将数据推送到数组中

来自分类Dev

无法使用 Node.js 以正确的格式将块数据推送到数组中

来自分类Dev

将JSON数据推送到数组中?

来自分类Dev

将字符串数组的所有数据推送到新数组javascript中

来自分类Dev

如何在单击事件时将数据集中的新值持续推送到数组

来自分类Dev

调用 getItems() 时将添加的对象推送到新数组

来自分类Dev

无法将数据推送到 Firebase 数组字段

来自分类Dev

无法将数据从sql查询推送到数组进行比较

来自分类Dev

每次单击按钮时将状态数据推送到数组

来自分类Dev

将数组数据推送到会话时出错

来自分类Dev

无法将数据推送到数组并最终更新反应 js 中的状态

来自分类Dev

如何将数组数据推送到数据属性中

来自分类Dev

Meter 将新对象推送到集合中的数组

来自分类Dev

使用Javascript将数据推送到另一个数组中的数组

来自分类Dev

如何使用反应钩子将新值推送到当前数组中?

来自分类Dev

如何使用 Class 语法将新的 Book 对象推送到空数组中?

来自分类Dev

无法使函数将数组推送到NodeJS中的redis列表

来自分类Dev

无法将子文档推送到Mongoose中的文档数组

来自分类Dev

每次将新行推送到数组时,编辑数组中的第一个值

来自分类Dev

将 JSON 数据推送到 ANGULAR 对象数组中

来自分类Dev

将数据推送到 React Native 中的数组

来自分类Dev

将数据推送到嵌套结构数组中

来自分类Dev

如何将数据推送到数组mongodb中?

来自分类Dev

将Firebase数据推送到数组+ js + vuejs中

来自分类Dev

如何使用Ajax将数据推送到数组

来自分类Dev

如何使用while循环PHP将数据推送到数组

来自分类Dev

使用节点异步循环将 EXIF 图像数据推送到数组中

来自分类Dev

如何将新的数组索引推送到数据库属性中,同时保持已存储的数据不变?

来自分类Dev

如何将 json 数据从 json 文件推送到具有新集合的数组中并更新文件

Related 相关文章

  1. 1

    使用ngOnInit中的foreach将数据推送到数组中

  2. 2

    无法使用 Node.js 以正确的格式将块数据推送到数组中

  3. 3

    将JSON数据推送到数组中?

  4. 4

    将字符串数组的所有数据推送到新数组javascript中

  5. 5

    如何在单击事件时将数据集中的新值持续推送到数组

  6. 6

    调用 getItems() 时将添加的对象推送到新数组

  7. 7

    无法将数据推送到 Firebase 数组字段

  8. 8

    无法将数据从sql查询推送到数组进行比较

  9. 9

    每次单击按钮时将状态数据推送到数组

  10. 10

    将数组数据推送到会话时出错

  11. 11

    无法将数据推送到数组并最终更新反应 js 中的状态

  12. 12

    如何将数组数据推送到数据属性中

  13. 13

    Meter 将新对象推送到集合中的数组

  14. 14

    使用Javascript将数据推送到另一个数组中的数组

  15. 15

    如何使用反应钩子将新值推送到当前数组中?

  16. 16

    如何使用 Class 语法将新的 Book 对象推送到空数组中?

  17. 17

    无法使函数将数组推送到NodeJS中的redis列表

  18. 18

    无法将子文档推送到Mongoose中的文档数组

  19. 19

    每次将新行推送到数组时,编辑数组中的第一个值

  20. 20

    将 JSON 数据推送到 ANGULAR 对象数组中

  21. 21

    将数据推送到 React Native 中的数组

  22. 22

    将数据推送到嵌套结构数组中

  23. 23

    如何将数据推送到数组mongodb中?

  24. 24

    将Firebase数据推送到数组+ js + vuejs中

  25. 25

    如何使用Ajax将数据推送到数组

  26. 26

    如何使用while循环PHP将数据推送到数组

  27. 27

    使用节点异步循环将 EXIF 图像数据推送到数组中

  28. 28

    如何将新的数组索引推送到数据库属性中,同时保持已存储的数据不变?

  29. 29

    如何将 json 数据从 json 文件推送到具有新集合的数组中并更新文件

热门标签

归档