Я новичок в MongoDB, у меня есть этот вопрос, скажем, у меня есть коллекция продуктов, `
{
_id: 100,
sku: "abc123",
quantity: 250,
instock: true,
reorder: false,
details: { model: "14Q2", make: "xyz" },
tags: [ "apparel", "clothing" ],
ratings: [ { by: "ijk", rating: 4 } ]
}
`
Я хотел бы обновить эту коллекцию продукта одновременно с двумя операторами обновления в разных потоках, Thread1, `
db.products.update(
{ _id: 100 },
{ $set:
{
quantity: 500,
details: { model: "14Q3"}
}
}
)
Thread 2,
db.products.update(
{ _id: 100 },
{ $set: { "details.make": "zzz" } }
)
`
Поскольку два потока происходят одновременно в одном и том же документе, просто хотел знать, независимо от того, в каком порядке он происходит, выводом является { "_id" : 100, "sku" : "abc123", "quantity" : 500, "instock" : true, "reorder" : false, "details" : { "model" : "14Q3", "make" : "zzz" }, "tags" : [ "apparel", "clothing" ], "ratings" : [ { "by" : "ijk", "rating" : 4 } ] }
Этот тип атомарного поведения в одном документе поддерживается Mongo?