есть простой сбор. Я хочу, чтобы вопрос был предметом, но он дает исключение. Как я могу его решить?push item в подлоге
/* 1 */мои данные коллекции
{
"_id" : ObjectId("557e8c93a6df1a22041e0879"),
"QuestionCount" : 2.0000000000000000,
"Questions" : [
{
"_id" : ObjectId("557e8c9ba6df1a22041e087a"),
"DataSource" : [],
"DataSourceItemCount" : NumberLong(0)
},
{
"_id" : ObjectId("557e8c9fa6df1a22041e087b"),
"DataSource" : [],
"DataSourceItemCount" : NumberLong(0)
}
],
"Name" : "er"
}
(ID = 557e8c93a6df1a22041e0879 и вопрос ID = 557e8c9fa6df1a22041e087b)
db.getCollection('forms').update({
"_id": ObjectId("557e8c93a6df1a22041e0879"),
"Questions._id": ObjectId("557e8c9fa6df1a22041e087b")
}, {
"$push": {
"Questions.DataSource": {
"_id": ObjectId("557e8e5ea6df1a27b403ff6b"),
"CreationDate": ISODate("2015-06-15T08:35:42.923Z"),
"IsActive": true,
"Text": "op",
"Value": "op"
}
}
})
не может использовать часть (Вопросы вопросов.DataSource) для перемещения элемент ({Вопросы: [{_id: ObjectId ('557e8c9ba6df1a22041e087a'), CreationDate: новый Дата (1434356891784), IsActive: правда, имя: "Uio", требуется копаться: ложь, QuestionType: 1, AnswerInputType: 1 , AnswerValidationPattern: нуль, AnswerValidationMessage: нуль, QuestionOrder: 1, DataSource: [], DataSourceItemCount: 0}, {_id: ObjectId ('557e8c9fa6df1a22041e087b'), CreationDate: новые Дата (1434356895695), IsActive: правда, имя: "Iu", требуется копаться: ложь, QuestionType: 2, AnswerInputType: 1, AnswerValidationPattern: нулевой, AnswerValidationMessage: нулевой, QuestionOrder: 2, источник данных: [], DataSourceItemCount: 0}]})
Возможный дубликат [MongoDB "Update Где" как в MySQL, но для массивов "(http://stackoverflow.com/questions/29918842/mongodb-update-where-like-in-mysql-but-for-arrays) – Yogesh