使用 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" 数组添加新值时,最佳做法是什么?
- 我应该锁定文档吗?由于这是非常简单的操作,我的猜测是它足够快而不会干扰其他请求。
- 不加锁,但在更新文档前检查原文档是否被修改过?
您需要做什么将取决于您的 NoSQL 引擎,但是使用 MongoDB 您可以将另一个值推送到数组。这是属于 "posters" 集合的上述文档的示例:
db.posters.update(
{ id: "an id" },
{ $push: { post_ids: "post_id 5" } }
);
假设我将一组 ID 存储在文档中,如下所示。
{
"id": "an id",
"post_ids": [
"post_id 1",
"post_id 2",
"post_id 3",
"post_id 4",
]
}
当我向 "post_ids" 数组添加新值时,最佳做法是什么?
- 我应该锁定文档吗?由于这是非常简单的操作,我的猜测是它足够快而不会干扰其他请求。
- 不加锁,但在更新文档前检查原文档是否被修改过?
您需要做什么将取决于您的 NoSQL 引擎,但是使用 MongoDB 您可以将另一个值推送到数组。这是属于 "posters" 集合的上述文档的示例:
db.posters.update(
{ id: "an id" },
{ $push: { post_ids: "post_id 5" } }
);