MongoDB удалить элемент из массива из выбранного документа - PullRequest
0 голосов
/ 16 ноября 2011

Я занимаюсь разработкой веб-приложения с использованием Codeigniter и библиотеки Alex Bilbies MongoDB.Каждый пользователь получил документ, который содержит элемент, называемый телефонами, который содержит массив телефонных номеров.Как вытащить элемент из массива из документа выбранных пользователей?

Благодарю за помощь!

Ответы [ 2 ]

2 голосов
/ 14 октября 2012

Даже я столкнулся с проблемой, когда напрямую пытался извлечь значение из массива, используя библиотеку Alex Bilbies MongoDB.Этот подход работает для меня, сначала сбрасывая значение, а затем вытягивая все нули.

Надеюсь, это поможет

$this->mongo_db->where('items', "5678")->unset_field('items.$')->update('mycollection');
$this->mongo_db->pull('items', NULL)->update('mycollection');
1 голос
/ 16 ноября 2011

Использование MongoDB $ pull для удаления определенного элемента массива из массива:

> db.mycollection.insert({user: "test", items: [1234, 5678, 91011]});
> db.mycollection.find()
{ "_id" : ObjectId("4ec3b9af8d1ae67f1fb2b30a"), "user" : "test", "items" : [ 1234, 5678, 91011 ] }
> db.mycollection.update({user: "test"}, {$pull: {items: 5678}});
> db.mycollection.find()
{ "_id" : ObjectId("4ec3b9af8d1ae67f1fb2b30a"), "items" : [ 1234, 91011 ], "user" : "test" }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...