2013-10-14 2 views
4

В моей коллекции mongo у меня есть вложенная переменная с именем «instit.type». Это массив со следующими элементами:Удаление массива в массиве в mongodb

db.collection.distinct("institution.type") 
[ 
null, 
[ 
    "boarding" 
], 
"virtual" 
] 

Я пытаюсь удалить записи с элементом «интернат», однако я застрять из-за того, что посадка сама находится в массиве (ошибка, изначально сделал при использовании "$" толчок к массиву)

Я попытался следующие, чтобы найти документы:

db.collection.find({"institution.type":{ $in: ["boarding"]}}).count() 
0 

и

db.collection.update({"institution.id":"somenumber"}, {$pull: {"institution.type.1":"boarding"}}) 
"type" : [ 
     "virtual", 
     [ ] 
     ] 

Как я могу удалить скобки наряду с «интернат» метки, не получив ошибку

выполнение JavaScript не удалось: SyntaxError: Неожиданный идентификатор?

Любые советы были бы высоко оценены и приветствовались!

ответ

1

Чтобы найти элемент с посадкой подмассив вы должны использовать двойные скобки, как так ...

db.collection.find({"institution.type": {$in: [["boarding"]]}}) 

Чтобы вытащить деталь из сделайте следующее:

db.collection.update({"institution.type": {$in: [["boarding"]]}}, {$pull: {"institution.type": ["boarding"]}}) 
Смежные вопросы