[JAVA-611] public WriteResult update(DBObject q, DBObject o) , When I update or delete document by Inner document object as query object.It failed. Created: 26/Jul/12  Updated: 19/Oct/16  Resolved: 26/Jul/12

Status: Closed
Project: Java Driver
Component/s: None
Affects Version/s: 2.7.3
Fix Version/s: None

Type: Bug Priority: Blocker - P1
Reporter: ZHAO Jin Assignee: Jeffrey Yemin
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

For example:

{ "_id" : ObjectId("4e2d2bb24a6b60a03f4b08c9"), 
  "TDI20502" : { "c" : { "name" :"case" }, 
                 "C" : { "age" : 20 } 
               }, 
  "createTime" : ISODate("2012-07-25T08:42:50.796Z"), 
  "isMale" : false, 
  "group" : "group_d" 
}

I want update this document.
My query object is :

{ "TDI20502" : { "C" : { "age" : 20}}}

update to:

{ "TDI20502" : { "c" : { "name" : "case1"} , 
                 "C" : { "age" : 20}} , 
 "createTime" : { "$date" : "2012-07-26T02:21:34.437Z"} , 
 "isMale" : false , 
 "group" : "group_update"
}

I didn't update successful.
But when I use

{ "TDI20502" : { "c" : { "name" : "case"} , "C" : { "age" : 20}}}

It works.

Why I can't only use "age" condition?



 Comments   
Comment by Scott Hernandez (Inactive) [ 26/Jul/12 ]

This is not a java problem, nor a server issue. Your syntax is incorrect. You want to use dot-notation for your query, most likely: "TDI20502.C.age" : 20

See the docs here: http://www.mongodb.org/display/DOCS/Dot+Notation+%28Reaching+into+Objects%29 http://www.mongodb.org/display/DOCS/Advanced+Queries

Please post on mongodb-user group here if you have any more questions: http://groups.google.com/group/mongodb-user/

Generated at Thu Feb 08 08:52:41 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.