Schema:
{
name: String,
available: Boolean,
for: String
}
there are "a":
{
name: "a",
available: true,
for: ["b", "c"]
}
and "b":
{
name: "b",
available: true,
for: ["a", "b]
}
if I update a.available = false, I should update b.available = false at the same time. how could I update two documents and make sure there would not has other process/thread getting "b" between the time when updating "a" and "b".