在MongoDB中的一个查询中将字段和$ push更新为数组

海德公园

我有以下代码:

db.basket.update(
    {'_id': ObjectId(data['basket_id'])},
    {
        'total': round(total, 2),
        '$push': {
            products': {
                'prod_id': data['prod_id'],
                'price': price,
                'amount': data['amount']
            }
        }
    }
)

运行此查询给我一个错误:

uncaught exception: field names cannot start with $ [$push]

是否可以更新数据库对象中的字段并将新对象推入数组?

尼尔·伦恩

您需要$set用于单值更新。否则,这将尝试将更新形式与普通对象和“更新”运算符混合使用。MongoDB认为这只是一个普通对象更新,因此告诉您“ $ push”对于字段名称是非法的:

db.basket.update(
    {'_id': ObjectId(data['basket_id'])},
    {
        '$set': { 'total': round(total, 2) },
        '$push': {
            products': {
                'prod_id': data['prod_id'],
                'price': price,
                'amount': data['amount']
            }
        }
    }
)

因此,在这里使用正确的运算符让MongoDB知道您要执行的操作并正确处理它。其他更新运算符以相同的方式工作。只有在一起的地方。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在MongoDB中的一个查询中将字段和$ push更新为数组

来自分类Dev

如何在MongoDB更新中将字段的值推入同一文档的另一个数组字段中

来自分类Dev

数组中的字段和数组mongodb聚集查询中的第一个对象的最小值

来自分类Dev

mongodb查询以查找数组中的对象与另一个数组字段的元素不匹配的位置

来自分类Dev

mongodb $ inc数组中的一个字段

来自分类Dev

在MongoDB数组中查询一个月

来自分类Dev

基于嵌套数组字段的最后一个元素的Spring数据MongoDb查询

来自分类Dev

MongoDB-使用另一个子数组字段更新父数组字段

来自分类Dev

仅在mongodb中的字段小于另一个字段时更新

来自分类Dev

如何将基于子表中一个字段中的值计算总数的5个子查询归为一个更新

来自分类Dev

在node.js和mongodb中将字符串数组作为一个参数发布

来自分类Dev

MongoDb仅更新数组中的一个值

来自分类Dev

MongoDb仅更新数组中的一个值

来自分类Dev

子文档数组上的 MongoDB 查询和投影也返回另一个文档的数组

来自分类Dev

(MongoDB)向文档中添加一个新字段,其值为其嵌套子文档数组的总和

来自分类Dev

更新mysql中的2个字段(其中一个更新为null更新)

来自分类Dev

如何在访问中将表中的一个字段设置为等于表中的另一个字段

来自分类Dev

当数组大小存储在变量中时,查询MongoDB中数组的最后一个元素

来自分类Dev

当数组大小存储在变量中时,查询MongoDB中数组的最后一个元素

来自分类Dev

在 mongoDB 中的另一个数组中查询整个特定数组

来自分类Dev

从MongoDB中的所有文档中获取数组字段的第一个元素的总和

来自分类Dev

在一个字段中按数组查找mongodb中的文档?

来自分类Dev

查询一个字段等于另一个数组字段?

来自分类Dev

$ sum数组中的一个字段-查询结果文档是否超过某个值

来自分类Dev

根据mongodb中另一个数组字段的值将数组字段添加到集合中

来自分类Dev

在每个文档中添加一个新字段,并在mongodb中为同一文档的另一个字段赋值

来自分类Dev

C#MongoDb-如何更新嵌套文档中的一个字段?

来自分类Dev

从流星中的Mongodb文档返回一个字段(数组)的内容

来自分类Dev

使用一个更新查询设置多个字段

Related 相关文章

  1. 1

    在MongoDB中的一个查询中将字段和$ push更新为数组

  2. 2

    如何在MongoDB更新中将字段的值推入同一文档的另一个数组字段中

  3. 3

    数组中的字段和数组mongodb聚集查询中的第一个对象的最小值

  4. 4

    mongodb查询以查找数组中的对象与另一个数组字段的元素不匹配的位置

  5. 5

    mongodb $ inc数组中的一个字段

  6. 6

    在MongoDB数组中查询一个月

  7. 7

    基于嵌套数组字段的最后一个元素的Spring数据MongoDb查询

  8. 8

    MongoDB-使用另一个子数组字段更新父数组字段

  9. 9

    仅在mongodb中的字段小于另一个字段时更新

  10. 10

    如何将基于子表中一个字段中的值计算总数的5个子查询归为一个更新

  11. 11

    在node.js和mongodb中将字符串数组作为一个参数发布

  12. 12

    MongoDb仅更新数组中的一个值

  13. 13

    MongoDb仅更新数组中的一个值

  14. 14

    子文档数组上的 MongoDB 查询和投影也返回另一个文档的数组

  15. 15

    (MongoDB)向文档中添加一个新字段,其值为其嵌套子文档数组的总和

  16. 16

    更新mysql中的2个字段(其中一个更新为null更新)

  17. 17

    如何在访问中将表中的一个字段设置为等于表中的另一个字段

  18. 18

    当数组大小存储在变量中时,查询MongoDB中数组的最后一个元素

  19. 19

    当数组大小存储在变量中时,查询MongoDB中数组的最后一个元素

  20. 20

    在 mongoDB 中的另一个数组中查询整个特定数组

  21. 21

    从MongoDB中的所有文档中获取数组字段的第一个元素的总和

  22. 22

    在一个字段中按数组查找mongodb中的文档?

  23. 23

    查询一个字段等于另一个数组字段?

  24. 24

    $ sum数组中的一个字段-查询结果文档是否超过某个值

  25. 25

    根据mongodb中另一个数组字段的值将数组字段添加到集合中

  26. 26

    在每个文档中添加一个新字段,并在mongodb中为同一文档的另一个字段赋值

  27. 27

    C#MongoDb-如何更新嵌套文档中的一个字段?

  28. 28

    从流星中的Mongodb文档返回一个字段(数组)的内容

  29. 29

    使用一个更新查询设置多个字段

热门标签

归档