Field tags is array in scenes document. I wanna replace element 'Bad' with 'Good' in the array as:
db.scenes.update({ 'tags': 'Bad' }, { $set: { 'tags.$' : 'Good' } }, { 'multi':true});
I don't know how to do it in doctrine. I tried
$dm->createQueryBuilder('SceneBundle:Scene')
->update()
->field('tags.$')->set($tag)
->field('tags')->equals($oldTag)
->multiple(true)
->getQuery()
->execute();
but not work.
Thanks.
it's been a long time, but just to not leave this post without a good answer I found a link (Mongodb array $push and $pull) which can help us.
There isn't a single replace function for this, but you can do it in one query by pulling all the 'Bad' out, and pushing 'Good' in
The doctrine equivalent should be :
Refer to the doctrine docs here : http://docs.doctrine-project.org/projects/doctrine-mongodb-odm/en/latest/reference/query-builder-api.html