Quelqu'un peut-il me aider le cas ci-dessous dans MongoDB:Trouver Modifier et insérer dans la même collection de MongoDB
- documents trouver avec une condition de collection A. (permet de dire que nous avons 2 documents)
- Modifiez ces 2 documents, puis insérez-les dans la même collection A, sans les documents originaux 2 dérangeants.
L'agrégation ne supporte pas la fusion dans la même collection, je l'ai obtenue par simple javascript, mais nous avons besoin de MapReduce.
Ci-dessous mon script simple:
db.col1.find({
"field1": "value"
}).forEach(function(d1) {
d1.f2 = NumberInt(d1.f2/10);
db.col1.save(d1)
})
Pourquoi avez-vous besoin de MapReduce? – chridam
Possible dupe https://stackoverflow.com/questions/29487351/how-to-convert-string-to-numerical-values-in-mongodb – chridam
Comme je l'ai mentionné auparavant, je ne veux pas déranger les données d'origine, même si elle est l'agrégation puis la sortie remplace les données de la collection au lieu de fusionner. S'il s'agit d'un script Java simple, le transfert de données se produira entre les serveurs App & DB. Je veux donc qu'il soit exécuté dans la carte pour s'exécuter sur DB Server. – JohnWick