使用 MongoDB 将新项目添加到数组

Add New Item to an an array using MongoDB

假设我将一组 ID 存储在文档中,如下所示。

{
    "id": "an id",
    "post_ids": [
        "post_id 1",
        "post_id 2",
        "post_id 3",
        "post_id 4",
    ]
}

当我向 "post_ids" 数组添加新值时,最佳做法是什么?

  1. 我应该锁定文档吗?由于这是非常简单的操作,我的猜测是它足够快而不会干扰其他请求。
  2. 不加锁,但在更新文档前检查原文档是否被修改过?

您需要做什么将取决于您的 NoSQL 引擎,但是使用 MongoDB 您可以将另一个值推送到数组。这是属于 "posters" 集合的上述文档的示例:

db.posters.update(
    { id: "an id" },
    { $push: { post_ids: "post_id 5" } }
);