формы — MongoDB -PHP обновление данных

Для сохранения данных из формы в базу данных MongoDB я использую этот код.

if (isset($_POST))
{
$m = new MongoClient();
$db = $m->abst;
$collection = $db->users;
print_r($_POST);
if($collection->find(array('user_id' => $pid)))
{
$collection->update(array('user_id'=>$pid),$_POST);
}
else
{
$document = array_merge(array('user_id'=>$pid),$_POST);
$collection->insert($document);
}
}

Как проверить, существует ли идентификатор пользователя в коллекции? и если идентификатор пользователя существует в коллекции, данные будут обновлены. В противном случае новая запись сохраняется в коллекции. где ошибка?

0

Решение

Попробуйте это — возможно, это будет работать для вас.

В MongoDB, если запись не существует для данного запроса и если upsert true затем mongodb добавляет запись в качестве новой записи.

$query['user_id'] = $pid;
$object['$set'] = $_POST;
$options = array('w' => true, 'upsert' => true);
$collection->update($query, $object, $options);
0

Другие решения

попробуй это

if($collection->find(array('user_id' => $pid))->count() == 1)
{
$collection->update(array('user_id'=>$pid),$_POST);
}
0

По вопросам рекламы [email protected]