У меня ОЧЕНЬ большой массив объектов, которые необходимо импортировать в MongoDB, но мне нужно делать их по одному, чтобы я мог использовать mongoose-field-encryption для шифрования определенных полей в состоянии покоя.
Мне удалось импортировать данные с помощью mongoimport, а затем я смог экспортировать их в JSON с использованием Robo3T, но при попытке импорта я получаю ошибки такого типа.Я просто собираюсь использовать одну запись в качестве примера.
Пример данных для импорта:
{
"_id" : { "$oid" : "5d82c8b95627367d122082cd" },
"clientID" : [ { "$oid" : "5d82240f7c8ddd03b62aee5e" } ],
"scheduled" : { "$date" : "2013-05-16T12:00:00.000+0000" },
"note" : "", "reminder" : false,
"cell" : false,
"type" : [ { "$oid" : "5d826362f4aac80a557348a2" } ],
"status" : [ { "$oid" : "5d82661cbc473c0a88826d09" } ],
"pmtdue" : 0.0,
"pmtduedate" : "",
"payment" : 0.0,
"pmttype" : "",
"paid" : false,
"pmtnote" : ""
}
Код, который я использую для импорта:
const appointment = new Appt(p).save();
Ошибки:
ValidationError: Ошибка проверки приложения:
- _id: Ошибка приведения к ObjectID для значения "{'$ oid': '5d82c8b95627367d122082cd'}" по пути "_id"
- clientID: сбой приведения к ObjectID для значения "[{'$ oid': '5d82240f7c8ddd03b62aee5e'}]" по пути "clientID"
- запланировано: сбой приведения к дате для значения "{'$ date ':' 2013-05-16T12: 00: 00.000 + 0000 '} "по пути" запланировано "
- тип: сбой приведения к ObjectID для значения" [{' $ oid ':' 5d826362f4aac80a557348a2 '}] "at path" type "
- status: сбой приведения к ObjectID для значения" [{'$ oid': '5d82661cbc473c0a88826d09'}] "at path" status "
Iпонять, что моя схема должна быть рассмотрена, чтобы понять проблему, поэтому вот что:
const apptSchema = new mongoose.Schema({
clientID: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Client'
},
status: {
type: mongoose.Schema.Types.ObjectId,
ref: 'ApptStatus'
},
type: {
type: mongoose.Schema.Types.ObjectId,
ref: 'ApptType'
},
scheduled: Date,
note: String,
cell: Boolean,
pmtdue: Number,
pmtduedate: Date,
payment: Number,
pmttype: String,
paid: Boolean,
pmtnote: String
});
Что я делаю не так?Мой пакет.json для мангусты:
"mongoose": "^5.7.1",