2014-12-15 2 views
0

Я пытаюсь вставить несколько объектов в одно поле. Вот пример.Документ внутри документа в MongoDB

У меня есть коллекция Questions, поля которой Q_ID, Q_Question и Q_ANS.

Теперь посты пользователей вопрос, и он переходит в:

  • Q_ID: 1
  • Q_Question: 'это вопрос'

Теперь другие пользователи будут размещать ответы.

Как можно вставить несколько ответов один за другим в Q_ANS? Я пробовал

db.Questions.update({ans:'this is ans'},{$set:{Q_ID:1}}) 

но он только что заменил предыдущий ответ. Я хочу вставить все ответы в Q_ANS один за другим, когда они были опубликованы.

+0

Я думаю, что Q_ANS должен быть массивом, вы можете использовать $ push – Ragnar

ответ

2

Вы должны использовать $ addToSet

db.Questions.update({ans:'this is ans'},{$addToSet:{Q_ID:1}}) 

Если документы и тождественны это обновление.

Если вы хотите добавить, и не заботиться о дубликатах, юй может использовать $ толкать

db.Questions.update({ans:'this is ans'},{$push:{Q_ID:1}}) 

Edit:

Эта ссылка может помочь вам немного

http://docs.mongodb.org/manual/reference/operator/update/push/ http://docs.mongodb.org/manual/reference/operator/update/addToSet/

+0

Как насчет того, чтобы вы на самом деле писали код в своем ответе th при условии решения проблемы, которая была задана. Если вы хотите получить здесь какое-то значение, то это то, что вы делаете. –

+0

@NeilLunn Я даже не знаю, на каком языке владелец вопроса использует, так как я могу написать код. Кроме того, если он копирует то, что я пишу и вставляю на консоль mongo, он будет работать;) – leojg

+0

это не точный ответ, но ссылки, которые вы мне дали, помогли мне. +1 – Despicable

Смежные вопросы