cursor.map(function)重要
mongosh メソッド
これは
mongoshメソッドです。 これは、Node.jsまたはその他のプログラミング言語固有のドライバー メソッドのドキュメントではありません。ほとんどの場合、
mongoshメソッドはレガシーのmongoshell メソッドと同じように動作します。 ただし、一部のレガシー メソッドはmongoshでは利用できません。レガシー
mongoshell のドキュメントについては、対応する MongoDB Server リリースのドキュメントを参照してください。MongoDB API ドライバーについては、各言語のMongoDB ドライバードキュメント を参照してください。
カーソルが訪問する各ドキュメントに
functionを適用し、functionの連続するアプリケーションからの戻り値をCursorオブジェクトに収集します。cursor.map()メソッドには次のパラメーターがあります。Parameterタイプ説明function関数
カーソルが訪問する各ドキュメントに適用する関数。
互換性
このメソッドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
注意
このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
動作
cursor.map()はCursorオブジェクトを返します。 .map()は 型のみを変換し、新しいカーソルは作成しないことに注意してください。 .toArray()を使用してCursorオブジェクトをArrayに変換できます。
例
これらの例では、製品コレクションを参照します。
db.products.insertMany([ { _id: 1, name: 'widget', price: 10.89 }, { _id: 2, name: 'thing', price: 11.24 }, { _id: 3, name: 'moppet', price: 8 }, { _id: 4, name: 'cosa', price: 24.19 } ])
コレクションから値を返す
製品名を取得します。
db.products.find().map( function(p) { return p.name; } ) ;
結果を として返す Array
割引販売価格を計算し、結果を配列として返します。
var salePrices = db.products.find().map( function(p) { return p.price * .9 } ).toArray() ;
出力が次であることを確認します: Array
salePrices.constructor.name
Tip
cursor.forEach() も同様の機能を備えています。