come da How do I update Array Elements matching criteria in a MongoDB document?Elementi di array Upsert che corrispondono ai criteri in un documento MongoDB?
Voglio aggiornare gli elementi dell'array, quindi se uno non corrisponde, inserirlo, altrimenti aggiornarlo.
Ho provato la risposta a questa domanda e funziona correttamente SE l'elemento dell'array esiste già. Se l'elemento non esiste, crea un figlio di "$" sotto il campo dell'array.
mio Mongo struttura è la seguente:
Widget (collection)
--Name
--Properties (array)
--Name
--Value
La mia applicazione ottiene un nome del widget e un elenco di proprietà da una chiamata WebService. Desidero ripetere le Proprietà fornite e aggiornare il valore in MongoDB se il Nome esiste già, OPPURE inserire una nuova Proprietà nell'array Proprietà se non lo è.
Sono arrivato anche a questa conclusione. Ho circa 3500 proprietà per widget e probabilmente oltre 100.000 widget. È un design ragionevole avere le proprietà nella propria collezione? – justacodemonkey
"Upserts" sono possibili se è possibile ristrutturare il documento. Vedi la mia risposta. –