Comment puis-je utiliser les nouvelles Météore.Collection.ObjectID() dans mon mongo requêtes avec meteor?

J'ai une Collection de documents avec un tableau d'objets imbriqués.
Voici luminaire code pour remplir la base de données:

if (Parents.find().count() == 0) {
    var parentId = Parents.insert({
        name: "Parent One"
    });
    Children.insert({
        parent: parentId,
        fields: [
            {
                _id: new Meteor.Collection.ObjectID(),
                position: 3,
                name: "three"
            },
            {
                _id: new Meteor.Collection.ObjectID(),
                position: 1,
                name: "one"
            },
            {
                _id: new Meteor.Collection.ObjectID(),
                position: 2,
                name: "two"
            },

        ]
    });
}

Vous pourriez vous demander, pourquoi ai-je besoin d'un ObjectID quand je peux juste le mettre à jour basé sur des noms. C'est un exemple simplifié d'un beaucoup plus complexe schéma que je suis en train de travailler sur et de le l'objet imbriqué vont être créées dynamiquement, de l'ObjectID sont certainement nécessaires pour faire ce travail.

En gros, j'ai besoin d'un moyen de sauver ces objets imbriqués avec un ID unique et être en mesure de mettre à jour les champs par leur _id.

Voici ma Méthode, et l'appel, je suis en train de faire depuis le navigateur de la console:

Meteor.methods({
  upChild: function( options ) {
        console.log(new Meteor.Collection.ObjectID());
        Children.update({_id: options._id, "fields._id": options.fieldId }, {$set: {"fields.$.position": options.position}}, function(error){
            if(error) {
                console.log(error);
            } else {
                console.log("success");
            }
        });
    }
});

Mon appel à partir de la console:

Meteor.call('upChild', {
  _id: "5NuiSNQdNcZwau92M",
  fieldId: "9b93aa1ef3868d762b84d2f2",
  position: 1
});

Et voici une capture d'écran du code html de là où je suis rendu toutes les données pour les Parents et les Enfants collections:
Comment puis-je utiliser les nouvelles Météore.Collection.ObjectID() dans mon mongo requêtes avec meteor?

OriginalL'auteur Scott | 2013-10-07