Я пытаюсь вставить новые документы в коллекцию, но после первого (когда я пытаюсь вставить второй) Монго показывает мне следующую ошибку:
MongoError: E11000 duplicate key error collection: bbdd.productions index: _id_ dup key: { : ObjectId('5b118dabefd04e51a28ffc4d') }
На самом деле этоимеет смысл, потому что "_id": ObjectId ("5b118dabefd04e51a28ffc4d") - это идентификатор, который был назначен первому вставленному документу.
Я читал, что, возможно, существуют индексы, вызывающие проблему, но эта коллекция имеет только индекс id .
db.productions.getIndexes () показывает:
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "production_rapipizza.productions"
}
]
Я пытался удалить с помощью .dropIndexes () и перезапустить приложение, но это не сработало (я получаю ту же ошибкукогда я создаю новые документы из этой коллекции).
Я думаю, что Монго назначает один и тот же ObjectId первому документу и следующему, но ... это невозможно, не так ли?
model:
model.Production = mongoose.model("productions", new Schema({
products: {type: Array, required: true},
date: {type: Date, required: true},
user: {type: ObjectId, ref: 'users', required: true},
createdAt: {type: Date, default: Date.now}
}, {collection: 'productions', timestamps: true}));
Мой запрос в узле:
app.post('/api/production', (req, res, next) => {
req.body.date = new Date(req.body.date);
const production = new model.Production(req.body);
return production.save().then(
() => res.status(200).send("La producción para el día indicado fue registrado exitosamente"))
.catch(next)
});
, если я делаю эквивалент через оболочку mongodb, он работает правильно, так что я думаю, что я делаю неправильно вышекод.Это то, что я называю «эквивалентом»:
db.productions.insert({products: [ { "product" : "oneproduct", quantity : 100 } ], date : ISODate("2018-06-03T03:00:00Z"), user : ObjectId("5b0b50326b351b4527b067c6")});
Мой первый вставленный документ:
{ "_id" : ObjectId("5b118dabefd04e51a28ffc4d"), "products" : [ { "product" : "nameoftheproduct", "quantity" : "100" } ], "date" : ISODate("2018-06-01T03:00:00Z"), "user" : ObjectId("5b0b50326b351b4527b067c6"), "createdAt" : ISODate("2018-06-01T18:17:15.404Z"), "updatedAt" : ISODate("2018-06-01T18:17:15.404Z"), "__v" : 0 }
Любая помощь или идеи будут с благодарностью приняты.