o7412369815963
Июль 17, 2010 17:36:21
это понятно, я имел в виду - почему не использовать просто строки?
так удобней: db.users.find({ ‘_id’:'4c418357ac3b00000000473e' }), чем db.users.find({ ‘_id’:ObjectID('4c418357ac3b00000000473e') })
Lexander
Июль 17, 2010 22:09:40
Во-первых, это не строка, а число. Использовать строки в качестве первичного ключа - не заботиться о производительности.
Во-вторых, в моем примере я как раз и показал, что, когда передаешь в качестве параметра u, передается как раз само значение и MongoDb его прекрасно кушает. Можно сказать, что ObjectId(“…”) - это явное приведение к типу ObjectId. ObjectId в примерах и документации - для наглядности - показать тип данных. Аналогично можно пожаловаться на неудобство кавычек и квадратных скобок, которые показывают строки и массивы соответственно. Смотришь код, видишь ObjectId и пониамешь сразу, что это либо первичный, либо уникальный ключ, либо ссылка на него.
Ну, и как водится :), в-третьих, в жизни ты вряд ли будешь ручками указывать в коде эти неудобные конструкции, что я постарался показать на примере с u.
o7412369815963
Июль 17, 2010 23:38:37
Lexander
Ну, и как водится :), в-третьих, в жизни ты вряд ли будешь ручками указывать в коде эти неудобные конструкции, что я постарался показать на примере с u.
постоянно использую, т.к. в браузер клиенту передаю как раз _id страниц, эти же _id прилетают обратно и тут я ищу страницы через ObjectID.
возможно удобнее было-б передавать что-то другое.
Спасибо за ответы.