node-uuid дает ошибку дубликата ключа
У меня есть метод для вставки задачи в базу данных mongoDB и функция для отображения всех задач.
createTask(title, description) {
if (!title) {
return Promise.reject("you must provide a name for your Task");
}
if (!description) {
return Promise.reject("You must provide description for your task");
}
return todo().then((todoItemsCollection) => {
let newTask = {
_id: uiud.v1(),
title: title,
description: description,
completed: false,
completedAt: null
};
return todoItemsCollection
.insertOne(newTask)
.then((newInsertInformation) => {
return newInsertInformation.insertedId;
})
.then((newId) => {
console.log("New task added");
return this.getTask(newId);
});
});
},
getAllTasks() {
return todo().then((todoItemsCollection) => {
console.log("\nHere are All your Tasks");
return todoItemsCollection.find().toArray((err, docs) => {
docs.forEach((docs) => {
console.log("\n");
console.log(docs);
});
});
});
}
Я могу успешно вставить первое задание в базу данных и даже получить все задания из базы данных. Но я не могу вставить в app.js. второе задание "Тест" со следующим кодом.
let NewTask = todo.createTask("Ponder7 Dinosaurs", "Has Anyone Really Been Far Even as Decided to Use Even Go Want to do Look More Like?");
let taskAdded = NewTask.then((task) => {
console.log(task);
});
let allTasks = taskAdded.then(() => {
return todo.getAllTasks();
});
let NewTask2 = todo.createTask("Test", "Test");
let NewTask2 = todo.createTask("Test", "Test").catch((err) => {
console.log(err);
});
Когда я пытаюсь поймать ошибку, он говорит
{ [MongoError: E11000 duplicate key error collection: lab3.todoItems index: _id_ dup key: { : "11477162-4844-4f5d-aae8-1afb8a560250" }]
name: 'MongoError',
message: 'E11000 duplicate key error collection: lab3.todoItems index: _id_ dup key: { : "11477162-4844-4f5d-aae8-1afb8a560250" }',
driver: true,
index: 0,
code: 11000,
errmsg: 'E11000 duplicate key error collection: lab3.todoItems index: _id_ dup key: { : "11477162-4844-4f5d-aae8-1afb8a560250" }' }
Когда я делаю то же самое с ObjectID mongoDB, вызывается вторая функция, но она выдает вышеуказанную ошибку при использовании модуля node-uuid.