3

あるフィールドでコレクションを検索するときに、特定のフィールドのみを返すように指定できます。1 つのフィールドのみを返す場合、たとえば「_id」としましょう。find コマンドはキーと値のペア [ {_id:123}、{_id:234}、{_id:345} ] の配列を返します。 find は値の配列のみを返しますか? のように: [123, 234, 345]

返された配列を自分でマッサージすることはできますが、mongodb でこれを行うことができる場合は、そうしてもらいたいと思います。

4

1 に答える 1

4

そのような出力を得るには、集計フレームワークを使用する必要があります。また、集約フレームワークを使用しても、得られる最高のものは次のとおりです。

{ values: [ 123, 234, 345 ] }

$group基本的に、すべての値をまとめるために使用する必要があります。このようなもの:

db.collectionName.aggregate({
    $group: {
        values: { $push: "$_id" }
    }
});

for グループが必要かどうかはわかり_idませんが、上記が機能しない場合は、それを追加できます。検索を返した後にマッサージするよりも速いかどうかはわかりません.

于 2013-11-15T00:48:13.353 に答える