Я могу добавить несколько документов, несмотря на то, что они имеют одинаковые значения и необходимые проверки (в схеме unique установлено значение true) - PullRequest
0 голосов
/ 16 июня 2020

соединение. js где mongodb подключается к express

const mongoose = require('mongoose');
mongoose.Promise = global.Promise;
const Schema = mongoose.Schema;
mongoose.set("useCreateIndex",true);

let userSchema = {
    "username":{
        type:String,
        required:[true,'Required Field'],
        unique:true
    },
    "password":{
        type:String,
        required:[true,'Required Field'],
        unique:true

    },
    "emailId":{
        type:String,
        required:[true,'Required Field'],
        unique:true
    }
}

let accountSchema = new Schema(userSchema,{collection:"Account",timestamps:true});
let connection = {}
connection.getAccountsCollection = () =>{
    return mongoose.connect("mongodb://localhost:27017/BLOGSDB",{useNewUrlParser:true})
    .then((db)=>{
        return db.model('Account',accountSchema)
    })
    .catch((err)=>{
        console.log(err.message);
        let error = new Error("Could not connect to database");
        error.status = 500;
        throw error;
    })
}
module.exports = connection;

модели. js Выполнение запроса на создание объекта

const connection = require('../utilities/connection');
const userDb = {}
userDb.addUser = (userObj) =>{
    console.log('addUser here',userObj);
    return connection.getAccountsCollection().then((model)=>{
        return model.create(userObj).then((insertedData)=>{
            console.log('Add account called')
            if(insertedData){
                return insertedData
            }
            else{
                console.log('error occured');
                let err = new Error('Data not inserted');
                err.status = 500;
                throw err;
            }
        })
    })
}

module.exports = userDb;

Уникально: true здесь не работает, код не показывает ошибок при одновременном размещении нескольких документов. Подключение. js файл предназначен для подключения к mongodb, а модель js подключена к подключению. js, при добавлении идентичных документов при вставке документов ошибка не возникает

1 Ответ

0 голосов
/ 16 июня 2020

Нет. Если вы используете уникальную проверку, установленную на True, вы не можете иметь одинаковые значения.

...