これはMongoDBでupsertingする方法です



MongoDBとそれのすべての私のポストの完全な概要については、チェックアウト私overview .
upsertingは、MongoDBがサポートする挿入と更新を組み合わせたデータベースコンセプトです.更新操作中にupsertを実行するには、update , updateOne , or updateMany メソッド.
コレクションに挿入されたデータを挿入しますusers :
db.users.insertMany([
    {
        _id: 1,
        name: "John Doe",
        email: "[email protected]",
        admin: true
    },
    {
        _id: 2,
        name: "Jane Doe",
        email: "[email protected]",
        admin: true
    },
    {
        _id: 3,
        name: "Billy Bob",
        email: "[email protected]",
        admin: false
    },
    {
        _id: 4
        name: "Steve Stevenson",
        email: "[email protected]",
        admin: true
    },
])

を返します.
db.users.updateOne({_id: 5}, {$set: {admin: true}})

のクエリに一致するドキュメントがないので、何もしません_id = 5 .
を返します.
db.users.updateOne(
    {_id: 5},
    { $set: { admin: true } },
    { upsert: true }
)

クエリに一致するドキュメントがないので、新しいドキュメントは_id と更新演算子の結果.
Use the find method to read data back out of MongoDB コレクションをチェックするには、次の手順に従います
db.users.find()

を返します.
{
    _id: 1,
    name: "John Doe",
    email: "[email protected]",
    admin: true
},
{
    _id: 2,
    name: "Jane Doe",
    email: "[email protected]",
    admin: true
},
{
    _id: 3,
    name: "Billy Bob",
    email: "[email protected]",
    admin: false
},
{
    _id: 4
    name: "Steve Stevenson",
    email: "[email protected]",
    admin: true
},
{
    _id: 5
    admin: true
}