par intérim ont un document de MongoDBobjet de mise à jour dans le tableau avec de nouveaux champs mongodb
chevaux est un tableau avec identifiant, le nom, le type
{
"_id" : 33333333333,
"horses" : [
{
"id" : 72029,
"name" : "Awol",
"type" : "flat",
},
{
"id" : 822881,
"name" : "Give Us A Reason",
"type" : "flat",
},
{
"id" : 826474,
"name" : "Arabian Revolution",
"type" : "flat",
}
}
Je dois ajouter de nouveaux champs
Je pensais que quelque chose comme cela, mais je ne suis pas allé à sa tête
horse = {
"place" : 1,
"body" : 11
}
Card.where({'_id' => 33333333333}).find_and_modify({'$set' => {'horses.' + index.to_s => horse}}, upsert:true)
Mais tous les champs existants sont supprimés et insérés nouveau comment faire ce serait de nouveaux champs ajoutés aux éléments existants
cette aide: http://stackoverflow.com/questions/10432677/update-field-in-exact-element-array-in-mongodb –
@LalitAgarwal Je l'ai lu. N'aide pas. L'objet existant est écrasé complètement. Et devrait-il être les nouveaux champs ajoutés à l'existant – user3603475
Avez-vous envisagé d'utiliser la méthode de mise à jour? - http://docs.mongodb.org/manual/tutorial/modify-documents/#modify-multiple-documents-with-update-method Si trouve des documents correspondant à des critères, puis met à jour le champ - si multi est défini sur true, il sera mettre à jour tous les enregistrements correspondants. –