mongodb - db.collections.updateOne(filter,update,options) 不适用于 $pull 运算符
问题描述
我只是在带有 $pull 运算符的 mongo shell 上运行 db.collections.updateOne() 查询。它与 $set 运算符按预期工作,但不影响 $pull 的文档。我在这里错过了什么吗?谢谢
我找到了其他人在此处发布的相同问题的答案如何在猫鼬中删除嵌入式方案文档?
我似乎看不出我哪里出了问题
db.vendors.findOne({"_id":ObjectId("5da0343c724f9d0531eeaa4a")})
这是我需要更新的文件:
{
"_id" : ObjectId("5da0343c724f9d0531eeaa4a"),
"elements" : [
ObjectId("5da03451724f9d0531eeaa4b")
],
"packages" : [ ],
"title" : "test again",
"slug" : "celebration-company",
"__v" : 1,
"department" : ObjectId("5d9892b1c46b6306b2ce64aa")
}
这是我在 shell 上运行的内容:
db.vendors.updateOne({"_id":ObjectId("5da0343c724f9d0531eeaa4a")},
{$pull:
{"elements":
{"_id":ObjectId("5da03451724f9d0531eeaa4b")}
}
})
结果:
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 0 }
解决方案
推荐阅读
- java - 为什么我的链表的 listIterator.next().toString 方法不会返回有效的字符串?它抛出一个 java.util.ConcurrentModificationException
- python - PyQt5 QMainWindow 不显示中央小部件
- flutter - 单击时我将如何阻止构建按钮更改其状态谢谢
- javascript - xState 中的模型输入(文本字段)状态机
- python - 在python上实现一个永无止境的矩阵公式进行曲线拟合
- python - Python boto3分段上传视频到aws s3
- c - printf 没有给我正确的输出,也许 scanf 是罪魁祸首,请指教
- javascript - 显示日期分为日 - 月 - 年和组合
- html - 如何在引导面板右侧添加按钮
- typescript - strictFunctionTypes 限制泛型类型