findAndModify与update更新的使用

yii框架  yii/mongo/Query 需要更新集合中特定的字段 ,Query里面查了查只有 mogify  折腾了半天,只是可以整个文档的替代 ,不信邪 ,跟进去看源码,原来是findAndModify 

参考文档:  https://docs.mongodb.com/manual/reference/method/db.collection.findAndModify/#db.collection.findAndModify

用法:

db.collection.findAndModify({
    query: <document>,
    sort: <document>,
    remove: <boolean>,
    update: <document>,
    new: <boolean>,
    fields: <document>,
    upsert: <boolean>,
    bypassDocumentValidation: <boolean>,
    writeConcern: <document>,
    collation: <document>
});

eg:

db.getCollection('cuishou_itag_push').update({sid:'5b6401b30df62e552ba2bf9e8f843cf0'},{$set:{itag_push_client_response_str:''}}, {multi:true});

db.getCollection('sid_info').findAndModify({query:{'sid':'SIDe7284ba6fd2c4146986d9c355d7f0e72'},
update:{$set:{'status_report':2,sid:'SIDe7284ba6fd2c4146986d9c355d7f0e72'}},
new:true,
fields:{'status_report':1},  
upsert:false
}


解释:

query:   where

update    要更新的项目, 有 $set的时候是只是更新选定的字符串  不然的话整个集合替换掉



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值