MongoDB push $ ne pousse pas quoi que ce soit sur le tableau

voix
0

Je commentais la ligne de code avec // This Command Does not worklequel je pense qu'il est rupture. Dans le journal de débogage de mangoustes, les regards de sortie comme ceci: Mais rien est ajouté au tableau medicineIds dans l'objet lundi pour le schéma de DaysOfWeek.

Ce qui suit est la sortie de débogage pour DayOfWeek.findOneAndUpdate () où je pousse en arrière sur le tableau, et je ne vois pas le résultat dans ma base de données de mongo.

Si vous allez ignorer comme toutes mes autres questions, s'il vous plaît laissez-moi savoir pourquoi.

Mongoose: dayofweeks.insertOne({ medicineIds: [], _id: 'Monday', __v: 0 }, { session: null }) // <- response to $push

Mongoose: medicines.insertOne({ times: [ 1, 2 ], dayNames: [ 'Monday' ], _id: ObjectId(5e73d816d54b1202e15bb96b), nam
e: 'Provolone', count: 23, __v: 0 }, { session: null })
Mongoose: dayofweeks.findOne({ _id: 'Monday' }, { projection: {} })

Mutation

const Mutation = new GraphQLObjectType({
    name: 'Mutation',
    fields: {
        addDayOfWeek: {
            type: DayOfWeekType,
            args: {
                name: { type: new GraphQLNonNull(GraphQLString) }
            },
            resolve(parent, args) {
                let dayOfWeek = new DayOfWeek({
                    _id: args.name,
                    medicineIds: new Array()
                });

                return dayOfWeek.save(); 
            }
        },
        addNewMedicine: {
            type: MedicineType,
            args: {
                name: { type: new GraphQLNonNull(GraphQLString) },
                count: { type: new GraphQLNonNull(GraphQLInt) },
                times: { type: new GraphQLNonNull(GraphQLList(GraphQLInt))},
                dayNames: { type: new GraphQLNonNull(GraphQLList(GraphQLString))}
            },

            resolve (parent, args) {
                let medicine = new Medicine({
                    name: args.name,
                    count: args.count,
                    times: args.times,
                    dayNames: args.dayNames
                }); 
                args.dayNames.forEach((dayId) => {
                    DayOfWeek.findOneAndUpdate( // This Command Does Not Work: 
                        // medicine._id, dayId are correct at this point of the 
                        //code
                        { _id: dayId }, 
                        { $push: { medicineIds: medicine._id }},
                        { new: true, useFindAndModify: false }
                    );

                });
                return medicine.save(); 
            }
        }
    }
});

schéma DayOfWeek

const mongoose = require('mongoose');
const Schema = mongoose.Schema; 

const dayOfWeekSchema = new Schema({
    _id: String,
    medicineIds: [String] // I am trying to push onto this array
});

module.exports = mongoose.model('DayOfWeek', dayOfWeekSchema);

Médecine du schéma

const mongoose = require('mongoose');
const Schema = mongoose.Schema; 

const medicineSchema = new Schema({
    id: String,
    count: Number,
    name: String,
    times: [Number],
    dayNames: [String]
});

module.exports = mongoose.model('Medicine', medicineSchema);
Créé 19/03/2020 à 21:56
source utilisateur
Dans d'autres langues...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more