假设我的MongoDB集合中有一个文档,如下所示:
{
"_id": "coffee",
"orders": [ "espresso", "cappuccino", "espresso", ... ],
}
如何使用单个更新语句来确保本文档中确切地说有2个espresso
,而又不知道有多少个db.test.update(
{ _id: "coffee" },
{ "$pull": { "orders": "espresso" } }
);
?
我知道我可以使用2条连续的语句
db.test.update(
{ "_id": "coffee" },
{ "$push": { "orders": { "$each": ["espresso", "espresso"] } } }
);
之后
Updating the path 'orders' would create a conflict at 'orders'
但是当将两者合并为一条语句时,MongoDB会遇到错误40,并声称model = SavedModelBundle.load(MODEL_PATH, "serve");
outputs = model.session().runner().feed("input_layer", in).fetch("time_distributed/transpose_1:0").run();
(这是可以理解的-MongoDB怎么做?)。
那么,如何在单个语句中完成上述操作?请注意,由于我将在较大的无序批量操作的上下文中使用以上内容,因此将以上内容组合到有序批量操作中将无效。
感谢您的帮助!