0

次のように、パーソナライズされた ID を使用して PHP 経由で MongoDB に新しいオブジェクトを作成しようとしています。

    $user = Array(
        '_id'  => "$id",
        'name' => $name,
    );

これに関する問題は、ID を照会するときに、次を使用する必要があることです。

$query = Array( '_id' => "$id" );

より適切な代わりに

$query = Array( '_id' => new MongoId("$id") );

すべてのクエリを変更することを余儀なくされました。'_id' => new MongoId("$id") を挿入して挿入を修正することでそれを行うと考えましたが、それを使用すると、パーソナライズされたものの代わりにデフォルトのmongodb IDが作成されます。

どうすればこれを修正できますか?

前もって感謝します

4

1 に答える 1

0

私はあなたがここで何を求めているのか正確には少し混乱していますが、私は理解できると信じています.

MongoDB が行の主キーに使用_idするデフォルトとは異なるものを使用している場合は、または実際にそのオブジェクトを作成するべきではありません。ObjectIdObjectIdMongoId

MongoId提供されているデフォルトを使用する場合にのみ使用し_idてください。独自のObjectId( MongoId) を使用すると、期待どおりに機能しません。

したがって、ここでの答えは、の使用をやめるということMongoIdです。

于 2013-03-03T21:07:05.640 に答える