我正在使用Codeigniter和Alex Bilbies MongoDB库开发一个Web应用程序。 每个用户都有一个文档,其中包含一个名为phones的项目,其中包含一系列电话号码。如何从所选用户文档中拉出数组中的项目?
感谢所有人的帮助!
答案 0 :(得分:2)
直接尝试使用Alex Bilbies MongoDB库从数组中提取值时,我遇到了一个问题。 这种方法对我有用,首先取消设置值,然后拉出所有空值。
希望这有帮助
$this->mongo_db->where('items', "5678")->unset_field('items.$')->update('mycollection');
$this->mongo_db->pull('items', NULL)->update('mycollection');
答案 1 :(得分:1)
使用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" }