Je ne trouve pas de solution efficace pour ma requête. Voici ce que j'aimerais faire.Requête Mongo: Copier le champ + valeur d'un document à l'autre
J'ai une collection appelée document « presse » j'ai une collection appelée « pistes »
« versions » a le champ « ReleaseDate », qui est rempli pour chaque « libère ».
Je voudrais maintenant avoir le releaseDate correspondant de "releases" dans chaque document "pistes" sous db.tracks.releases.releaseDate (db.tracks.releases existe déjà, mais sans le releaseDate).
Pour trouver le correspondant ReleaseDate, "versions" et "pistes" les deux ont un numéro de ICPn:
db.releases.icpn db.tracks.releases.icpn
Ceux-ci peuvent être comparés à trouver la releaseDate correcte pour chaque piste.
Pour résumer: Je dois parcourir chaque piste, regarder l'ICPN, rechercher la version avec le même ICPN et copier le releaseDate de la version à la piste.
je ne pouvais le faire fonctionner comme ceci:
db.releases.find() forEach (function (doc) {
db.tracks.update(
{ "releases.0.ICPN" : doc.ICPN},
{
$set: { "releases.0.releaseDate": doc.releaseDate},
$currentDate: {"lastModified": true}
},
{ multi: true}
)
})
qui a fonctionné pour mon test. DB, mais il est extrêmement inefficace de parcourir chaque piste pour chaque version.
Avez-vous des conseils pour me mettre sur la bonne voie?
Meilleures salutations, Alex
D'accord, je vois. Il est devenu totalement confus là. –
(enlevé le commentaire) –