Ошибка проверки схемы для массовой вставки с использованием MongooseJs на NodeJs - PullRequest
0 голосов
/ 04 мая 2018

Пытаясь добиться импорта CSV, поэтому я использую массовую вставку в NodeJ, используя MonggoseJ, и делюсь здесь фрагментом скрипта.

Описание:

Если я вставляю данные, используя 'model.save', проверка работает правильно для минимальной длины строки и уникального адреса электронной почты, ниже схемы и сценария для массовой вставки.

// User Schema.
{
    "title": {type: String, enum:["Mr", "Ms", "Mrs","Miss","Mstr"]},
    "firstName": {
        type: String,
        trim: true,
        required: true,         
        minlength: 2
    },
    "lastName":  {
        type: String,
        trim: true,
        required: true,
        minlength: 2
    },
    "gender": {type: String, enum: ["Male","Female","Other"]},
    "email" : {type: String, unique: true, required: true, trim: true}
}

Скрипт: Обещание, которое будет выполнять для массовой вставки

return new Promise((resolve, reject) => {
    var bulk = User.collection.initializeOrderedBulkOp();

    let _oUserOne =new User({
        "title": Mr,
        "firstName" : "A",
        "lastName" : "S",
        "gender" : "Male",
        "email" : "xxx@domain.com"
    })

    let _oUserTwo =new User({
        "title": Mr,
        "firstName" : "A",
        "lastName" : "S",
        "gender" : "Male",
        "email" : "xxx@domain.com" // Duplicate entry of email
    })

    bulk.insert(_oUserOne);
    bulk.insert(_oUserTwo);

    bulk.execute(function (err, r) {
        if (err) {
            console.error("Error in bulk insert\n", err);
            resolve({ result: r, error: err });
        }
        console.log("OK: Inserted successfully!");
        resolve({ result: r, error: null });
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...