Используя самоопределенный ObjectId и избегая двойных записей в Mongoose

Я получаю объекты JSON через внешний API в node.js и хочу сохранить их в MongoDB. Я определил модель следующим образом:

var Product = new Schema({
        id: ObjectId,
    name: String});

А теперь я пытаюсь сохранить объект:

JSONProduct = { id: 1234, name: 'The Foo Bar' };
product = new Product(JSONProduct);
product.save();

Объект отлично хранится в коллекции «products», но идентификатор из JSONProduct заменен созданным значением MongoDB:

{ "id" : ObjectId("119894980274616772006500"), "name" : "The Foo Bar" }

Основная причина, по которой я хочу использовать свой идентификатор продукта вместо созданного MongoDB, заключается в том, что я хочу предотвратить дублирование записей для продуктов. Я получаю объекты JSON Product через запускаемый cronjob вызов внешнего API, включая уже существующие. Может быть, есть другой, лучший способ сделать это?

6
задан Thomas 5 April 2011 в 20:55
поделиться