VersionError: Не найден соответствующий документ для идентификатора - PullRequest
0 голосов
/ 06 января 2019

Мне тяжело с мангустом. Я хочу получить документ из одной коллекции и сразу же сохранить его в другой коллекции. Но я сталкиваюсь с ошибкой версии.

Я попытался удалить свойство __v, но все равно получаю ту же ошибку. Ниже мой код. Это часть огромной функции, поэтому размещение только соответствующего кода.

//appointment-schema.js  
const mongoose = require("mongoose");   
const Schema = mongoose.Schema;  
const AppointmentSchema = new Schema({  
providerId: { type: String, index: true },  
providerName: { type: String, index: true },  
date: {type: Date},  
slotsPerHour:{type: String},  
allAppointments :{ type: Array }  
},{ timestamps: true });    


module.exports = {
Appointment: AppointmentSchema
};


//appointment.js
let criteria = { "providerId": req.providerId,
     "date": req.date
    }
var res = await this.db.Appointment.findOne(criteria); // I want to save this response to different collection
console.log("res :"+res);    

await this.db.AppointmentLog.create(res);// here, I'm getting an error

// AppointmentLog-schema.js
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const AppointmentLogSchema = new Schema({
providerId: { type: String, index: true },
providerName: { type: String, index: true },
date: {type: Date},
slotsPerHour:{type: String},
allAppointments :{ type: Array }
},{ timestamps: true, strict : false });

module.exports = {
AppointmentLogSchema
};





/* console.log("res :"+res)
res :{ allAppointments:
[ { serialNo: 0, slots: [Array] },
{ hour: 1970-01-01T00:00:00.000Z, serialNo: 5, slots: [Array] } ],
_id: 5c30c82eb632745b14b20452,
providerId: 'D02AT029527F0374',
date: 2019-01-05T18:30:00.000Z,
providerName: 'Dr. Ray Smith',
createdAt: 2019-01-05T15:07:26.177Z,
updatedAt: 2019-01-06T06:38:31.215Z } */

Здесь я не вижу свойства __v документа. Ранее я использовал delete doc .__ v для удаления ключа версии.
Ниже приведена ошибка:

VersionError: Соответствующий документ не найден для идентификатора "5c30c82eb632745b14b20452" версии 0 updatedPaths "allAppointments, _id, providerId, date, providerName, создалAt, updatedAt"

Я не уверен, делаю ли я что-то неправильно, что не разрешено mongoose, или это проблема с версией mongo (я использую 3.6.9).

...