MongoDB $ Push drängt nicht wirklich etwas auf dem Feld

stimmen
0

Ich kommentierte die Codezeile , mit // This Command Does not workdem ich den Verdacht , dass es Bruch ist. Im Debug - Protokoll von Mungo, wie die Ausgabe sieht folgendermaßen aus : Aber nichts ist mit dem medicineIds Array in dem Montag - Objekt für das DaysOfWeek Schema hinzugefügt.

Im Folgenden wird die Debug-Ausgabe für DayOfWeek.findOneAndUpdate (), wo ich wieder auf das Feld schieben, und bin nicht das Ergebnis in meiner Mongo Datenbank zu sehen.

Wenn du wird diese wie alle meine andere Fragen zu ignorieren, lassen Sie es mich wissen, warum.

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(); 
            }
        }
    }
});

DayOfWeek Schema

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);

Medizin-Schema

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);
Veröffentlicht am 19/03/2020 um 21:56
quelle vom benutzer
In anderen Sprachen...                            

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