2

Jensseger laravel-mongodb を使用して、Laravel で PHP で Mongodb 3.2 を使用しています。ドキュメントはこちら: https://github.com/jenssegers/laravel-mongodb

このコードを使用してデータを挿入していますが、正常に動作します。

$clientes = DB::connection(env('DB_DATABASE'))->collection('catalogo_clientes');
$clientes->insert(array("_id" => "1", "nombre" => "test", "disponible" => 1));

ただし、「_id」の「1」の代わりにmongoで作成した関数を使用したいのですが、コマンドラインから挿入するときは、通常これを使用します。これは正常に機能します。

db.loadServerScripts();
db.catalogo_clientes.insert(
    {
        _id: getNextId("clientes"),
        nombre: "Bob X.",
        disponible: 1
    }
)

「getNextId()」と同じ関数を使用して、php から mongo に挿入するにはどうすればよいですか?

4

1 に答える 1

1

これは、Jenssegers のライブラリを使用した例です。

$result = DB::collection('YOUR_COLLECTION')->raw(function($collection) use ($folio, $name, $type, $entrega_digital, $motivo_rechazado)
{
    return $collection->updateOne(
    array('Folio' => (int)$folio, 'documentos_'.$type.'.nombre' => $name),
    array(
        '$set' => array('documentos_'.$type.'.$.entrega_digital' => $entrega_digital, 'documentos_'.$type.'.$.motivo_rechazado' => $motivo_rechazado)
        )
    );
});

カーソルを使用すると、すべてのネイティブ メソッドを使用できます: https://docs.mongodb.com/manual/

于 2016-11-17T19:16:36.363 に答える