Удалить данные из монго документа с помощью PHP - PullRequest
1 голос
/ 22 октября 2011

У меня есть следующий массив, полученный из 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?

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 26 мая 2015

В этом случае вам нужна точная команда:

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
    ]]
);
0 голосов
/ 22 октября 2011

Не знаю, как с этим обращаться в php, но вы можете использовать модификатор для удаления одного поля: $ unset.Смотри http://www.mongodb.org/display/DOCS/Updating

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...