【问题标题】:mongodb: updating elements?mongodb:更新元素?
【发布时间】:2010-09-05 11:55:26
【问题描述】:

我(和大多数人一样)来自 mySQL 背景,试图切换到 noSQL 和 mongoDB。由于非规范化是 noSQL 的一部分,因为连接是不可能的,所以我将如何设计一个简单的博客:

array (
    blog_title => 'my blogpost',
    'date' => '2010-09-05',
    comments => array (
        '1' => 'Such a good post!!! You deserve a nobel prize'
    )
);

如果我想更新 cmets,在该数组中添加一个新元素,如果多个用户同时尝试写评论,我如何确保这已完成,而不是整个 cmets 数组被覆盖?

是我在 mongoDB 中关注的 push 函数吗?

【问题讨论】:

    标签: php mongodb push


    【解决方案1】:

    正确,$push 运算符允许您更新现有数组。您可以使用$pushAll 运算符在单个查询中添加多个值。

    要向您的示例文档添加评论,查询将是:

    db.posts.update({blog_title: "my blogpost"}, {$push: {comments: "New comment"}})
    

    这些操作符是原子的,所以如果多个用户同时添加 cmets,你不会遇到任何问题。

    【讨论】:

      猜你喜欢
      • 2013-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 2018-12-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多