あるフィールドでコレクションを検索するときに、特定のフィールドのみを返すように指定できます。1 つのフィールドのみを返す場合、たとえば「_id」としましょう。find コマンドはキーと値のペア [ {_id:123}、{_id:234}、{_id:345} ] の配列を返します。 find は値の配列のみを返しますか? のように: [123, 234, 345]
返された配列を自分でマッサージすることはできますが、mongodb でこれを行うことができる場合は、そうしてもらいたいと思います。
そのような出力を得るには、集計フレームワークを使用する必要があります。また、集約フレームワークを使用しても、得られる最高のものは次のとおりです。
{ values: [ 123, 234, 345 ] }
$group
基本的に、すべての値をまとめるために使用する必要があります。このようなもの:
db.collectionName.aggregate({
$group: {
values: { $push: "$_id" }
}
});
for グループが必要かどうかはわかり_id
ませんが、上記が機能しない場合は、それを追加できます。検索を返した後にマッサージするよりも速いかどうかはわかりません.