У меня есть код, который удаляет несколько объектов из Mongo, используя оператор $or
, или, по крайней мере, так и должно быть.Этот код иллюстрирует в основном то, что делает мое приложение
lookup = []
listofids = ['4e86fee56607f2a8a2000002','4e86fee56607f2a8a2000003','4e86feeb6607f2a8a2000006']
for id in listofids:
lookup.append({'_id':core.ObjectId(id)})
r = self.db().photos.update({
"$or":lookup
},{
'$set':{'var':'value'}
})
Это не работает, оно не обновляет документы.Однако, если я изменю код, чтобы выполнить базовый поиск
lookup = []
listofids = ['4e86fee56607f2a8a2000002','4e86fee56607f2a8a2000003','4e86feeb6607f2a8a2000006']
for id in listofids:
lookup.append({'_id':core.ObjectId(id)})
r = self.db().photos.find({
"$or":lookup
})
for rs in r:
self.write(str(rs)+"\n\n")
, он выдаст все записи.Как заставить Mongo обновлять записи?
self.db () сопоставляется с базой данных MongoDB, фотографии - это коллекция.
Этот код написан на Python, но я бы представил синтаксисдостаточно легко следовать