Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

mongo update query given error

Coll.update(condition, new BasicDBObject("$set", data), true, true))

This is my update query in mongodb for some records it gives result as

{ "err" :  null  , "updatedExisting" : true , "n" : 1 , "ok" : 1.0}

and at that time stored update query execute properly.

but for some records it give result as

{ "err" : "not okForStorage" , "code" : 12527 , "n" : 0 , "ok" : 1.0}

records neither update nor stoare in db

in data there are multiple BasicDBList (list) used.

if some one knows plz reply

Thanks

like image 490
Swapnil Sonawane Avatar asked May 18 '11 07:05

Swapnil Sonawane


People also ask

Can we update _ID in MongoDB?

You cannot update it but you can save a new id and remove the old id.

What is $Set in MongoDB?

$set outputs documents that contain all existing fields from the input documents and newly added fields. The $set stage is an alias for $addFields. Both stages are equivalent to a $project stage that explicitly specifies all existing fields in the input documents and adds the new fields.

What does Upsert do in MongoDB?

In MongoDB, upsert is a method that is used to insert and update the value in any operation. In other words, the MongoDB upsert method is a combination of insert and update (insert + update = upsert). By default, the upsert method's value is always false.


1 Answers

More than likely there are invalid characters in your document fields/keys.

For example, you can't have a period . or a dollar sign $ in your field names.

If you send the output from the following, I can help more.

System.out.println(data);
like image 81
Ryan Avatar answered Oct 18 '22 04:10

Ryan