Я немного новый mongodb, но в настоящее время изучаю JAMStack.Я родом из Python / sql.
Так что для небольшого забавного проекта по изучению этих новых языков я создаю базу данных книжной базы.
На данный момент у меня 3 коллекции.Первый - это пользователи - содержит objID, имя пользователя и хэшированный pw.Вторая коллекция - книжный магазин, в котором находятся книги, добавленные в базу данных.Третья коллекция называется userBooks / library, которая в основном представляет собой коллекцию книг, которые есть у пользователя, например,
const userBooks = mongoose.Schema({
_id: mongoose.Schema.Types.ObjectId,
userid: {type: Schema.Types.ObjectId, ref: 'User'},
bookid: {type: Schema.Types.ObjectId, ref: 'Book'},
});
. Это сработало на 100%.Я мог добавить книги, зарегистрированные в моей учетной записи пользователя, однако проблема возникла, когда я создал новую учетную запись пользователя и хотел добавить книгу, которая уже существует в пользовательских книгах.
Это ошибка:
E11000 коллекция ошибок повторяющегося ключа: bookstore.libraries index: bookid_1 dup key.
Он действует так, как будто имеет уникальное ограничение: «true», но я, честно говоря, не уверен.
Есть идеи?
Мой подход и схема с MongoDB совершенно неверны?