【问题标题】:MongoDB -PHP data updateMongoDB -PHP 数据更新
【发布时间】:2015-04-13 12:03:43
【问题描述】:

为了将数据从表单保存到 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);   
    }  
}

如何检查用户 ID 是否存在于集合中?如果集合中存在用户 ID,则数据将更新。否则将新条目保存到集合中。哪里错了?

【问题讨论】:

    标签: php forms mongodb mongodb-php


    【解决方案1】:

    试试这个 - 也许它对你有用。

    在 MongoDB 中,如果给定查询的记录不存在并且 upsert 为 true,则 mongodb 将该记录添加为新记录。

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

    【讨论】:

      【解决方案2】:

      试试这个

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-08-30
        • 2023-03-22
        • 1970-01-01
        • 1970-01-01
        • 2021-11-23
        • 2017-05-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多