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".
 
     
     
    