@JIakki

Почему не добавляет элементы в массив mongoose?

Есть запись в БД:
{ 
	"_id" : ObjectId("56596dc1e53bfc8510abe7ee"), 
		"date" : { 
		"year_2015" : { 
			"month_11" : { 
				"moneySource" : [ 
					{ "img" : "purse.svg", "balance" : 0, "name" : "wallet" }, 
					{ "img" : "bank.svg", "balance" : 0, "name" : "bank" } 
				]
			} 
		} 
	},
	"__v" : 0 
}


Почему следующий запрос не добавляет новый объект в массив ?

Costs.update({
			"_id" : token.costs_id // 56596dc1e53bfc8510abe7ee
		}, {
			"$push" : {
				['date.'+ year + '.' + month + '.' + post.block] : { //date.year_2015.month_11.moneySource
					"name" : post.name,
					"img" : post.img,
					"balance": 3333333330,
				}
			}
		}, function (err) {
			if(err) {
				console.log(err)
			}
		})


Зарание спасибо
  • Вопрос задан
  • 246 просмотров
Пригласить эксперта
Ответы на вопрос 1
@lega
token.costs_id // 56596dc1e53bfc8510abe7ee

Нужно указать ObjectId, а не строку

['date.'+ year + '.' + month + '.' + post.block] : {

Квадратные скобки не нужны, в JS нельзя так сложить ключ - смотрите вываливающиеся ошибки.
Ответ написан
Ваш ответ на вопрос

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

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