Anda dapat memenuhi syarat update
dengan objek kueri yang mencegah pembaruan jika name
sudah ada di profile_set
. Di dalam cangkang:
db.coll.update(
{_id: id, 'profile_set.name': {$ne: 'nick'}},
{$push: {profile_set: {'name': 'nick', 'options': 2}}})
Jadi ini hanya akan melakukan $push
untuk dokumen dengan _id
yang cocok dan jika tidak ada profile_set
elemen di mana name
adalah 'nick'
.