mongodb - MongoDb 限制更新查询
问题描述
我想将付款类型 Postpaid 更改为 POSTPAID 并且我想限制该查询,为此我编写了以下查询:
db.subscribers.find({paymentType:"Postpaid"}).limit(3).forEach(
function(doc)
{db.collection.update(
{paymentType:"Postpaid"},
{$set:{paymentType:"POSTPAID"}},
db.subscribers.save(doc)
)})
它给出以下输出,但没有任何变化:
Updated 1 existing record(s) in 3ms
Updated 0 record(s) in 1ms
Updated 1 existing record(s) in 2ms
Updated 0 record(s) in 1ms
Updated 1 existing record(s) in 2ms
Updated 0 record(s) in 1ms
该查询有什么问题,有人可以帮忙吗?
解决方案
无需更新查询,只需更新值doc
并将其保存到同一个集合中,
db.subscribers.find({paymentType:"Postpaid"}).limit(3).forEach(function(doc) {
doc.paymentType = "POSTPAID";
db.subscribers.save(doc);
});
- 第二种选择,做更新查询
db.subscribers.find({ paymentType: "Postpaid" }).limit(3).forEach(function(doc) {
db.subscribers.updateOne(
{ _id: doc._id },
{ $set: { paymentType: "POSTPAID" } }
);
});
推荐阅读
- ios - 不能对 X 类型的目标 C 协议采用 swift 类
- sql - 添加额外的计算列以查看,表中不存在
- python - 我可以登录但不能双击本地网页的元素来提取结果页面/使用 selenium:python
- python - 是否有一种矢量化方式来检查 DataFrame 中的值(例如,如果所有内容都是长度为 0 的字符串)
- visual-studio-code - 如何在 linux 中离线安装 vscode-server
- azure-spatial-anchors - 尝试在 iOS 上查找以前保存的 Azure 空间锚时遇到问题
- php - 如何理解 php 代码中的“if(!($value%2))”?
- arrays - 创建和操作数组数组
- python-3.x - 是否可以将 sklearn 估计器放在 sklearn.compose.ColumnTransformer 中?
- mongodb - 同一文档中和文档之间的 Concat 数组