У меня есть следующий массив, полученный от Mongo:
array(10) { ["_id"]=> object(MongoId)#25 (1) { ["$id"]=> string(24) "4ea062b9271e012227000000" } ["email"]=> string(18) "your@email.tld" ["group"]=> int(1) ["last_login"]=> int(1319299712) ["login_hash"]=> string(40) "a67b25998576d454c7a422908592ed338561a527" ["password"]=> string(44) "EK341WsJRo1vUB9vGYWfogfzstZsIg77/oRqlpeQH+I=" ["profile_fields"]=> string(6) "a:0:{}" ["username"]=> string(7) "loremipsum" [0]=> string(10) "login_hash" [1]=> string(40) "9de77184cb57625f834879b3cbcdf0b860d842c1" }
Выполняя тесты, я добавил плохую информацию в этот документ, последние 2 ключа массива: 0 и 1. Мой вопрос в том, как я могу удалить эту информацию или другую метку с помощью Mongo и с помощью PHP?
Заранее спасибо!
Не знаю, как обращаться с ним в php, но вы можете использовать модификатор для удаления одного поля: $ unset. См. http://www.mongodb.org/display/DOCS/Updating
В этом случае вам нужна точная команда:
db.collection.update( {"_id": ObjectID("4ea062b9271e012227000000")}, {"$unset": [0: true, 1: true]} );
В php это будет выглядеть так:
$mongoClient = new MongoClient(); $db = $mongoClient->selectDB('your_DB_name'); $collection = new MongoCollection($db, 'your_collection_name'); $collection->update( ['_id' => new MongoId("4ea062b9271e012227000000")], ['$unset' => [ 0 => true, 1 => true ]] );