This fails
db.responses.update({
"$or":[
{"itemId":24, "importDocumentId" : "90016201230095201111"}
,
{"itemId":24, "importDocumentId" : "90016201230085201111"}
]},
{$set:{responseStateCode:2}});
can't do non-multi update with query that doesn't have a valid shard key
This works
db.responses.update({
"itemId":{$in:[24,25]},
"importDocumentId":{$in:["90016201230095201111", "90016201230085201111"]}},
{$set:{responseStateCode:2}});
-------------FindAndModify--------------
This fails
db.responses.findAndModify({
query:{"$or":[
{"itemId":24, "importDocumentId" : "90016201230095201111"}
,
{"itemId":24, "importDocumentId" : "90016201230085201111"}
]},
update : {$set:
{responseStateCode:2}
}});
Thu Dec 13 16:12:32 uncaught exception: findAndModifyFailed failed: "db assertion failure"
This works
db.responses.findAndModify({
query:{
"itemId":{$in:[24,25]},
"importDocumentId":{$in:["90016201230095201111", "90016201230085201111"]}},
update : {$set:
{responseStateCode:2}
}});