Справочник по руководству MongoDB

В MongoDB есть хороший учебник по Справочнику по руководству:

Пример:

original_id = ObjectId()

db.places.insert({
    "_id": original_id,
    "name": "Broadway Center",
    "url": "bc.example.net"
})

db.people.insert({
    "name": "Erin",
    "places_id": original_id,
    "url":  "bc.example.net/Erin"
})

Обратите внимание, что эти два документа создаются одновременно.

Вопрос. Мне нужно сослаться на Клиента с Заказом, поэтому Клиент был создан задолго до Заказа, как я могу добавить эту ссылку на клиента и вставить в Заказ?


person Danystatic    schedule 20.01.2013    source источник
comment
Я не понимаю, как ваш пример связан с вашим вопросом?   -  person mjhm    schedule 20.01.2013
comment
хорошо, как насчет этого: я уже делаю это с помощью DaveCosta: ›db.orders.find (). pretty () {_id: ObjectId (50fbb887f577c8c2609c7130), order: 1, customer: {_id: ObjectId (50fba0b4d7bc28cd6a name72393d) : daniel}} {_id: ObjectId (50fbb8def577c8c2609c7131), заказ: 2, клиент: {_id: ObjectId (50fba0b4d7bc28cd6a72393d)}} Думаю, на данный момент это готово!   -  person Danystatic    schedule 20.01.2013


Ответы (1)


Разве вам не нужно сначала провести findOne() со своим клиентом и добавить его свойство id в новый документ?

person DaveStSomeWhere    schedule 20.01.2013
comment
ой!!! это сработало! вы знаете, почему это не работает с find (), но да! он работает с findOne (), спасибо! Буду признателен, если вы ответите и на этот вопрос. - person Danystatic; 20.01.2013
comment
Вот цитата человека из MongoDB относительно разницы между find () и findOne () - надеюсь, это поможет: The two queries you are executing are very different. A find query returns a cursor, this is essentially a no-operation scenario, as no actual data is returned (only the cursor information). If you call findOne, then you are actually returning the data and closing the cursor. The docs should definitely be clearer :-) - person DaveStSomeWhere; 20.01.2013
comment
спасибо, теперь у меня есть объект, на который указывает ссылка: (два типа) 1. {_id: ObjectId (50fbab64d7bc28cd6a723943), order: 2, customer: ObjectId (50fba0b4d7bc28cd6a72393d)} 2. {_id: ObjectId (50fbaeefd7bc239cd), customerId: {_id: {_id: ObjectId (50fba0b4d7bc28cd6a72393d)}}} Это документ с заказами. У меня проблемы с запросом клиента. Вы можете помочь? Как я могу сделать запрос по «клиенту»? - person Danystatic; 20.01.2013
comment
понятно! после многих попыток самым простым способом было решение. Я видел твой сайт, круто - person Danystatic; 20.01.2013