MongoDB $ धक्का वास्तव में सरणी पर कुछ भी धक्का नहीं है

वोट
0

मैं के साथ कोड की पंक्ति टिप्पणी की // This Command Does not workमैं कहाँ संदेह है कि यह तोड़ने है। नेवला के डीबग लॉग में, उत्पादन दिखता है यह पसंद: लेकिन कुछ भी नहीं DaysOfWeek स्कीमा के लिए सोमवार वस्तु में medicineIds सरणी में जोड़ा जाता है।

निम्नलिखित DayOfWeek.findOneAndUpdate () जहाँ मैं सरणी पर वापस धक्का, और मेरे मोंगो डेटाबेस में परिणाम नहीं दिखाई दे रहा के लिए डिबग आउटपुट है।

आप अपने सभी अन्य प्रश्न की तरह इस पर ध्यान न दें करने वाले हैं, तो मुझे पता है क्यों बताएं।

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: {} })

परिवर्तन

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

सप्ताह का दिन स्कीमा

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

चिकित्सा स्कीमा

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);
19/03/2020 को 21:56
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            

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