próbuję zmienić nazwę jednego pola we wszystkich dokumentach z kolekcji, zdb.collection.update() wszystkie dokumenty
db.coll.update({},{ $rename: {'originField':'newField'} });
ale tylko jeden dokument zostanie zmieniony, to dlaczego?
próbuję zmienić nazwę jednego pola we wszystkich dokumentach z kolekcji, zdb.collection.update() wszystkie dokumenty
db.coll.update({},{ $rename: {'originField':'newField'} });
ale tylko jeden dokument zostanie zmieniony, to dlaczego?
Wszystkie aktualizacje w MongoDB są domyślnie pojedyncze. Należy dodać trzecią opcję do komendy, aby:
db.coll.update({},{ $rename: {'originField':'newField'} }, {multi:true});
Albo, jak @totymedli wskazał, jeśli używasz 3.2 i powyżej można użyć updateMany()
: MongoDB: update every document on one field
db.collectionname.update({ "field" : "oldvalue" }, { $set:{ "field" : "newvalue" } }, { multi : true });
Jak to zrobić dla oldvalue + "jakiś ciąg" –
przez aktualizacje są domyślnymi pojedyncza, musisz dodać ', {multi: true}' jako trzeci parametr – Sammaye
@Samajko dziękuję, że to jest odpowiedź: – JuanPablo
@ Czy możesz dodać komentarz jak odpowiedź na zamknięcie? – JuanPablo