Nous avons des documents intégrés qui ressemblent à ceci:Mise à jour dans MongoDB dans un seul document intégré
{
"_id" : ObjectId("4e402353bc9f6ec5a6000001"),
"first_name" : "Chris",
"last_name" : "Jones",
"alerts" : [
{
"_id" : ObjectId("4f7cd6ffc067db00070022d4"),
"name" : "Default",
"email_frequency" : "weekly",
"interested_industries" : [
"Computer Software",
"Internet"
],
"interested_employers" : [
"Facebook",
"AOL"
],
"interested_skills" : [ ],
"matches" : [
ObjectId("4ee46a2a0dd0c70017000365"),
ObjectId("4efa1707bacfa40001012b65"),
ObjectId("4e402376bc9f6ec5a6000a7a"),
ObjectId("4e4e0eb8d052fc4028021f66"),
ObjectId("4ee55d8500ca410014000003"),
ObjectId("4ee63d06d96b850001008688"),
ObjectId("4e57be7ed052fc606a002335"),
ObjectId("4f05d47d9ce340001702ba42"),
ObjectId("4f200ffcaf5f34000e0021a4"),
ObjectId("4e4de701d052fc33da00052f")
],
"updated_at" : ISODate("2012-05-03T18:26:14.774Z")
}
]
}
Puisque le document ci-dessus est contenu dans un tableau, je vais avoir du mal à choisir dehors forme la Sélecteur avec quelque chose comme ceci:
User.collection.update({"_id" => user.id}, {:$set => {"alert.matches" => matches}})
Mais cela mettra à jour tous les #alerts. Je veux juste mettre à jour l'alerte avec l'ID "4fa7fd60e5be08bcc9000644".
Il est préférable de publier un document json exact. –
Il s'agit de l'implémentation du pilote ruby, JSON n'est pas pertinent. – user577808
Eh bien, je ne suis pas sûr de ce que je vois ici. Si les gens ne peuvent pas vous aider, cela devient pertinent :) –