I am using Java Mongo driver for the DB interaction. I have regular updates to be performed on the DB rows and the object that is quite nested. Something like this :
MyObject:
{
_id: dbGeneratedId,
myId: "A String ID that i created",
myTime: "new Date()",
myList:
[
{
myString: "abcdefghij",
myInteger: 9000
},
{
myString: "qwertyasdf",
myInteger: 9001
},
{
myString: "loremipsum",
myInteger: 9002
}
]
}
Each update involves either adding a new List item under myList
or appending some string to the myString
object in each of the List item. I found a lot of references for writing/finding items and none for updating items in a nested object. Can someone help me with this.
Edit 1: It would also be helpful if someone points out how to get one of the List items based on a myInteger
search
PS: new to mongo thro Java, excuse my ignorance
You can insert new list item using the $push operator.
You can run the following command on the shell to add new list item.
You can add list item using Java Driver as follows.
You can get single element as follows on the shell.
From Java Driver you can run same code as follows :
You can remove object as follows :
In Java you can do it as follows :
PS : Currently it is not possible to update all items in an array. There is an open issue on the Jira. You can check it from JIRA-1243