Как правильно обращаться с ObjectId в Mongo?

Каждый раз, когда я делаю PUT с клиента, на сервер приходит объект со строкой в поле _id, я и занимаюсь его конвертацией в ObjectId в ручную. Мне кажется это глуповато.
Как правильно обращаться с полем _id, которое на клиенте выглядит строкой, а на сервере объектом ObjectId?
Я использую node.js+express.js и не использую ORM, только нативный драйвер на js, официальный.

В базе должен появиться такой объект
{
    "_id" : ObjectId("5540ed124022ad9409092f71"),
    "parameters_id" : [ 
        ObjectId("554006c8a2fa57fc0dd7e47f"), 
        ObjectId("55400b2aa2fa57fc0dd7e480")
    ],
    "name" : "Название"
}

С клиента приходит это
{
"parameters_id" : [ 
        "554006c8a2fa57fc0dd7e47f", 
        "55400b2aa2fa57fc0dd7e480"
        ],
"name" : "Название"
}

Дальше такой кусочек говнокода подшаманивает строку в ObjectId
....
post: function (req, res) { //или пут не важно
            var item = req.body; 
            if (item.parameters_id) {
                for (var i = 0; i < item.parameters_id.length; i++) {
                    item.parameters_id[i] = ObjectId(item.parameters_id[i]);
                }
            }
//тут дальше инсерт в базу
  • Вопрос задан
  • 958 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы