MongoDBの複数のドキュメントを1つのクエリで挿入/更新/置換する方法はありますか?MongoDBに多数のドキュメントを挿入または更新する
は、次のコレクションを想定します
[
{_id: 1, text: "something"},
{_id: 4, text: "baz"}
]
今、私はいくつかはすでにコレクションになる可能性があるの複数のドキュメントを追加したいと思います。ドキュメントがすでにコレクションに入っている場合は、それらを更新/置き換えたいと思います。クエリは、コレクションがすべき、それはまた、プロセスの後_id
1で文書を交換/更新する必要があり_id
2と3で文書を挿入する必要があり
[
{_id:1, text: "something else"},
{_id:2, text: "foo"},
{_id:3, text: "bar"}
]
:たとえば、私は、次の書類を挿入したいと思います
db.collection.insertMany(
[ {...}, {...}, {...} ],
{
ordered: false,
}
)
duplicat場合:
[
{_id:1, text: "something else"},
{_id:2, text: "foo"},
{_id:3, text: "bar"},
{_id:4, text: "baz"}
]
一つのアプローチはinsertMany
を使用することがあります、次のように見えますその問合せは、挿入に失敗した文書の索引を含むオブジェクトの配列を含むwriteErrors
を発行します。私はそれらを通過して、代わりにそれらを更新することができます。
しかし、そのプロセスは面倒です。多くのドキュメントをという1つのクエリで挿入/更新/置換する方法はありますか?
偉大です。ありがとうございました :) – str