2012-06-17 7 views
0

Je n'ai pas encore pu configurer mon MongoDB, donc malheureusement je ne peux pas le tester moi-même. Je prévois d'avoir une collection qui sera mise à jour fréquemment. Il peut y avoir des données dans la collection qui ne sont pas modifiées lorsqu'une mise à jour se produit. Ces données resteront-elles disponibles après la mise à jour? Par exemple:MongoDB Mise à jour des collections

db.statistics_db.games.1234.statistics = {a:1,b:2,c:3} 
db.statistics_db.games.1234.update('statistics',{a:2,d:1,e:4}) 

De cette façon, le résultat final sera {a:2,b:2,c:3,d:1,e:4}, est que ce que je peux attendre de se produire? Ou les données seront-elles simplement remplacées entièrement? Comment puis-je atteindre ce que j'attendais si ce n'était pas le cas? Je vous remercie!

Répondre

0

Hmm, a trouvé une réponse ici: http://www.mongodb.org/display/DOCS/Updating+Data+in+Mongo

La solution semble être d'appeler les données que vous souhaitez mettre à jour, de modifier par itérer les nouvelles données et de remplacer l'ancien, puis mettre à jour la base de données avec toutes les données . Si quelqu'un trouve une meilleure façon de le faire s'il vous plaît faites le moi savoir.

+0

Je ne vois rien sur cette page suggérant ce que vous décrivez. En règle générale, vous définissez les nouvelles valeurs et les anciennes restent telles qu'elles sont. Si c'est un sous-document entier, vous devez soit définir les sous-champs que vous voulez définir/modifier ou remplacer le document entier. –

Questions connexes