sql >> データベース >  >> NoSQL >> MongoDB

phpでアップサートした後にmongodb_idオブジェクトを取得します

    はい-単一のクエリを使用して可能です。

    MongoDBには、findAndModifyが含まれています ドキュメントをアトミックに変更して返すことができるコマンド(デフォルトでは、変更される前に実際にドキュメントを返します)。

    PHPドライバーには、コレクションクラスにこのための便利なメソッドが含まれていません(まだ-このバグをチェックしてください)が、それでも使用できます(私のPHPはひどいので、構文エラーが発生した可能性があります)次のスニペットで):

    $key = array( 'something' => 'unique' );
    $data = array( '$inc' => array( 'someint' => 1 ) );
    $result = $mongodb->db->command( array(
        'findAndModify' => 'collection',
        'query' => $key,
        'update' => $data,
        'new' => true,        # To get back the document after the upsert
        'upsert' => true,
        'fields' => array( '_id' => 1 )   # Only return _id field
    ) );
    $id = $result['value']['_id'];
    


    1. mongoimportを使用してJSONファイルをMongoDBにインポートします

    2. ApacheHBase書き込みパス

    3. MongoError:タイプ:ポイントのオブジェクトからジオキーを抽出できません

    4. numpy配列をmongodbに保存する