MongoDB API リファレンス
項目一覧
- mongodb.admin()
- admin.getDBNames()
- mongodb.db()
- database.getCollectionNames()
- database.collection()
- collection.find()
- Collection.findOne()
- collection.findOneAndUpdate()
- collection.findOneAndReplace()
- collection.findOneAndDelete()
- collection.insertOne()
- collection.insertMany()
- collection.updateOne()
- collection.updateMany()
- Collection.deleteOne()
- Collection.deleteMany()
- collection.aggregate()
- collection.count()
- collection. distinct()
- collection.bulkWrite()
mongodb.admin()
リンクされた MongoDB データソース内の admin
データベースのハンドルを取得します。 これを使用して、 admin.getDBNames()
などの MongoDB 管理コマンドを実行できます。
const mongodb = context.services.get("mongodb-atlas"); const admin = mongodb.admin();
パラメーター
admin(): AdminDatabase
戻り値
mongodb.admin()
メソッドはAdminDatabase
オブジェクトを返します。 オブジェクトには、MongoDB database コマンドのサブセットをラップするヘルパー メソッドが含まれています。 詳しくはadmin.getDBNames()
を参照してください。
admin.getDBNames()
MongoDB データソース内のデータベース名のリストを返します。
const mongodb = context.services.get("mongodb-atlas"); const admin = mongodb.admin(); const dbNames = admin.getDBNames();
パラメーター
getDBNames(): string[]
戻り値
admin.getDBNames()
メソッドは string の配列を返します。各要素はデータソース内のデータベースの名前です。
mongodb.db()
リンクされた MongoDB データ ソース内のデータベースのハンドルを取得します。
const mongodb = context.services.get("mongodb-atlas"); const db = mongodb.db("myDB");
パラメーター
db(name: string): Database
Parameter | タイプ | 説明 |
---|---|---|
name | string | データベースの名前。 |
戻り値
mongodb.db()
メソッドは、指定されたデータベース内のコレクションにアクセスできるDatabase
オブジェクトを返します。
詳細は、次を参照してください: database.collection()
database.getCollectionNames()
データベース内のコレクション名のリストを返します。
const mongodb = context.services.get("mongodb-atlas"); const db = mongodb.db("myDB"); const collectionNames = db.getCollectionNames();
パラメーター
getCollectionNames(): string[]
戻り値
database.getCollectionNames()
メソッドは文字列の配列を返します。各要素はデータベース内のコレクションの名前です。
database.collection()
リンクされた MongoDB データソース内のコレクションのハンドルをdatabase
ハンドルから取得します。
const mongodb = context.services.get("mongodb-atlas"); const db = mongodb.db("myDB"); const collection = db.collection("myCollection");
パラメーター
collection(name: string): Collection
Parameter | タイプ | 説明 |
---|---|---|
name | string | コレクションの名前。 |
戻り値
database.collection()
メソッドは、指定したコレクションをクエリできるコレクション オブジェクトを返します。
collection.find()
指定されたクエリフィルターに一致するコレクションまたはビュー内のすべてのドキュメントを検索します。 一致するドキュメントにアクセスできるようにするカーソル オブジェクトを返します。
const query = { "reviews.0": { "$exists": true } }; const projection = { "_id": 0 }; return itemsCollection.find(query, projection) .sort({ name: 1 }) .toArray() .then(items => { console.log(`Successfully found ${items.length} documents.`) items.forEach(console.log) return items }) .catch(err => console.error(`Failed to find documents: ${err}`))
パラメーター
find( query?: object, projection?: object, options?: object ): Cursor
Parameter | タイプ | 説明 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
query | object | 任意。 検索するドキュメントを指定するクエリフィルター。 コレクション内のすべてのドキュメントを一致させるには、空のクエリ( 評価 、 地理空間 、または ビットごと の セレクター を除くほとんどの クエリ セレクター を使用できます。これらのセレクターは、システム関数でのみ使用できます。 | ||||||||||
projection | object | 任意。 MongoDB が一致するドキュメントに含めるフィールドまたは省略するフィールドを指定するドキュメント。 一致するドキュメント内のすべてのフィールドを返すには、このパラメーターを省略するか、空のプロジェクション ドキュメント( 特定のフィールドとドキュメントの
特定のフィールドを除外するには、プロジェクション ドキュメント内のフィールドを
注意含めるフィールドと除外するフィールドのいずれかを指定できますが、両方は指定しないでください。 たとえば、次のプロジェクションには、 フィールドが同時に含まれ、 フィールドが保留されているため 無効
このルールの例外は
| ||||||||||
options | object | 追加の構成オプションを指定するオブジェクト。 | ||||||||||
options.session | ClientSession | 任意。 操作が発生するトランザクションコンテキストを表すセッション オブジェクト。 詳細については、「トランザクション 」を参照してください。 |
戻り値
collection.find()
メソッドは、指定されたクエリに一致するドキュメントを指すカーソル オブジェクトを返します。 次のカーソル メソッドを使用して、クエリ結果セット内のドキュメントを操作し、アクセスできます。
方式 | 説明 | |
---|---|---|
cursor.next() | ||
cursor.toArray() | ||
cursor.skip(amount) | クエリ結果セットから除外する一致するドキュメントの数を指定します。 MongoDB は、指定された数をスキップするまで、ソート順で結果セットからドキュメントを省略します。 クエリで制限も指定されている場合、スキップされたドキュメントは制限のしきい値にはカウントされません。 注意
| |
cursor.limit(limit) | クエリ結果セットに含めるドキュメントの最大数を指定します。 結果セットに指定された 注意
| |
cursor.sort(sort) |
注意
例次の並べ替えドキュメントでは、ドキュメントを最高から最低への
|
注意
関数からカーソルを返すことはできません。 代わりに、 cursor.next()
またはcursor.toArray()
を使用してカーソルを評価し、結果を返します。
Collection.findOne()
コレクションまたはビューから 1 つのドキュメントを検索します。 複数のドキュメントがクエリに一致する場合、コレクション内の最初に一致するドキュメントが返されます。
注意
findOne() はソートを使用できません
回避策として、ソートされたコレクションから単一のドキュメントを返すには、 find()
をsort()
およびnext()
カーソル メソッドとともに使用します。
collection.find({}).sort({"<Field Name>": 1}).next() .then(result => console.log("Found Document: ", result))
const query = { "quantity": { "$gte": 25 } }; const projection = { "title": 1, "quantity": 1, } return itemsCollection.findOne(query, projection) .then(result => { if(result) { console.log(`Successfully found document: ${result}.`); } else { console.log("No document matches the provided query."); } return result; }) .catch(err => console.error(`Failed to find document: ${err}`));
パラメーター
findOne( query?: object, projection?: object, options?: object ): Promise<object | null>
Parameter | タイプ | 説明 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
query | object | 任意。 検索するドキュメントを指定するクエリフィルター。 コレクション内のすべてのドキュメントを一致させるには、空のクエリ( 評価 、 地理空間 、または ビットごと の セレクター を除くほとんどの クエリ セレクター を使用できます。これらのセレクターは、システム関数でのみ使用できます。 | ||||||||||
projection | object | 任意。 MongoDB が一致するドキュメントに含めるフィールドまたは省略するフィールドを指定するドキュメント。 一致するドキュメント内のすべてのフィールドを返すには、このパラメーターを省略するか、空のプロジェクション ドキュメント( 特定のフィールドとドキュメントの
特定のフィールドを除外するには、プロジェクション ドキュメント内のフィールドを
注意含めるフィールドと除外するフィールドのいずれかを指定できますが、両方は指定しないでください。 たとえば、次のプロジェクションには、 フィールドが同時に含まれ、 フィールドが保留されているため 無効
このルールの例外は
| ||||||||||
options | object | 追加の構成オプションを指定するオブジェクト。 | ||||||||||
options.session | ClientSession | 任意。 操作が発生するトランザクションコンテキストを表すセッション オブジェクト。 詳細については、「トランザクション 」を参照してください。 |
戻り値
collection.findOne()
メソッドは Promise を返します クエリに一致するコレクション内の最初のドキュメントに解決されます。指定したクエリに一致するドキュメントがない場合、Promise はnull
に解決されます。
Promise<object | null>
collection.findOneAndUpdate()
コレクションまたはビュー内の 1 つのドキュメントを更新し、更新前または更新後の形式でドキュメントを返します。
collection.updateOne()
とは異なり、このアクションでは同じコマンドでドキュメントをアトミックに検索、変更、返すことができます。 これにより、検索操作と更新操作の間にある他の更新操作でドキュメントが変更されるリスクを回避できます。
// Find the document that describes "lego" const query = { "name": "lego" }; // Set some fields in that document const update = { "$set": { "name": "blocks", "price": 20.99, "category": "toys" } }; // Return the updated document instead of the original document const options = { returnNewDocument: true }; return itemsCollection.findOneAndUpdate(query, update, options) .then(updatedDocument => { if(updatedDocument) { console.log(`Successfully updated document: ${updatedDocument}.`) } else { console.log("No document matches the provided query.") } return updatedDocument }) .catch(err => console.error(`Failed to find and update document: ${err}`))
パラメーター
findOneAndUpdate( query: object, update: object, options?: object ): Promise<object | null>
Parameter | タイプ | 説明 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
query | object | 検索するドキュメントを指定するクエリフィルター。 コレクション内のすべてのドキュメントを一致させるには、空のクエリ( 評価 、 地理空間 、または ビットごと の セレクター を除くほとんどの クエリ セレクター を使用できます。これらのセレクターは、システム関数でのみ使用できます。 | ||||||||||
update | object | MongoDB 更新演算子 を使用して実行する変更を指定する 更新ドキュメント 。 | ||||||||||
options | object | 追加の構成オプションを指定するオブジェクト。 | ||||||||||
options.upsert | boolean | 任意。デフォルト: ブール値が | ||||||||||
options.sort | boolean | 任意。 クエリのソート順序を指定します。 並べ替えるフィールドを 1 つ以上指定できます。各フィールドの値は、MongoDB が昇順( 例次の並べ替えドキュメントでは、ドキュメントを最高から最低への
| ||||||||||
options.projection | boolean | MongoDB が一致するドキュメントに含めるフィールドまたは省略するフィールドを指定するドキュメント。 一致するドキュメント内のすべてのフィールドを返すには、このパラメーターを省略するか、空のプロジェクション ドキュメント( 特定のフィールドとドキュメントの
特定のフィールドを除外するには、プロジェクション ドキュメント内のフィールドを
注意含めるフィールドと除外するフィールドのいずれかを指定できますが、両方は指定しないでください。 たとえば、次のプロジェクションには、 フィールドが同時に含まれ、 フィールドが保留されているため 無効
このルールの例外は
| ||||||||||
options.returnNewDocument | boolean | 任意。デフォルト:
| ||||||||||
options.session | ClientSession | 任意。 操作が発生するトランザクションコンテキストを表すセッション オブジェクト。 詳細については、「トランザクション 」を参照してください。 |
戻り値
collection.findOneAndUpdate()
メソッドは Promise を返します クエリが上書きした単一のドキュメントに解決されます。指定したクエリに一致するドキュメントがない場合、Promise はnull
に解決されます。
Promise<object | null>
注意
ドキュメントの置換前バージョンまたは置換後のバージョンのどちらを返すか指定するには、 options.returnNewDocument
の値を設定します。 デフォルトでは、 returnNewDocument
はfalse
であり、Promise は更新前のバージョンのドキュメントに解決される必要があることを示しています。
collection.findOneAndReplace()
コレクションまたはビュー内の 1 つのドキュメントを上書きし、置換前または置換後の形式でドキュメントを返します。
collection.updateOne()
とは異なり、このアクションでは同じコマンドでドキュメントをアトミックに検索、変更、返すことができます。 これにより、検索操作と更新操作の間にある他の更新操作でドキュメントが変更されるリスクを回避できます。
// Find the document that describes "lego" const query = { "name": "lego" }; // Replace it with a new document const replacement = { "name": "blocks", "price": 20.99, "category": "toys" }; // Return the original document as it was before being replaced const options = { "returnNewDocument": false }; return itemsCollection.findOneAndReplace(query, replacement, options) .then(replacedDocument => { if(replacedDocument) { console.log(`Successfully replaced the following document: ${replacedDocument}.`) } else { console.log("No document matches the provided query.") } return updatedDocument }) .catch(err => console.error(`Failed to find and replace document: ${err}`))
パラメーター
findOneAndReplace( query: object, replacement: object, options?: object ): Promise<object | null>
Parameter | タイプ | 説明 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
query | object | 検索するドキュメントを指定するクエリフィルター。 コレクション内のすべてのドキュメントを一致させるには、空のクエリ( 評価 、 地理空間 、または ビットごと の セレクター を除くほとんどの クエリ セレクター を使用できます。これらのセレクターは、システム関数でのみ使用できます。 | ||||||||||
replacement | object | 一致するドキュメントを置き換えるドキュメント。 置き換えドキュメントには MongoDB更新演算子 を含めることはできません。 | ||||||||||
options | object | 追加の構成オプションを指定するオブジェクト。 | ||||||||||
options.upsert | boolean | 任意。デフォルト: ブール値が | ||||||||||
options.sort | boolean | 任意。 クエリのソート順序を指定します。 並べ替えるフィールドを 1 つ以上指定できます。各フィールドの値は、MongoDB が昇順( 例次の並べ替えドキュメントでは、ドキュメントを最高から最低への
| ||||||||||
options.projection | boolean | MongoDB が一致するドキュメントに含めるフィールドまたは省略するフィールドを指定するドキュメント。 一致するドキュメント内のすべてのフィールドを返すには、このパラメーターを省略するか、空のプロジェクション ドキュメント( 特定のフィールドとドキュメントの
特定のフィールドを除外するには、プロジェクション ドキュメント内のフィールドを
注意含めるフィールドと除外するフィールドのいずれかを指定できますが、両方は指定しないでください。 たとえば、次のプロジェクションには、 フィールドが同時に含まれ、 フィールドが保留されているため 無効
このルールの例外は
| ||||||||||
options.returnNewDocument | boolean | 任意。デフォルト:
| ||||||||||
options.session | ClientSession | 任意。 操作が発生するトランザクションコンテキストを表すセッション オブジェクト。 詳細については、「トランザクション 」を参照してください。 |
戻り値
collection.findOneAndReplace()
メソッドは Promise を返します クエリが上書きした単一のドキュメントに解決されます。指定したクエリに一致するドキュメントがない場合、Promise はnull
に解決されます。
Promise<object | null>
注意
ドキュメントの置換前バージョンまたは置換後のバージョンのどちらを返すか指定するには、 options.returnNewDocument
の値を設定します。 デフォルトでは、 returnNewDocument
はfalse
であり、Promise は更新前のバージョンのドキュメントに解決される必要があることを示しています。
collection.findOneAndDelete()
コレクションから 1 つのドキュメントを削除し、削除されたドキュメントを、削除される直前として返します。
collection.updateOne()
とは異なり、このアクションでは同じコマンドでドキュメントをアトミックに検索、変更、返すことができます。 これにより、検索操作と更新操作の間にある他の更新操作でドキュメントが変更されるリスクを回避できます。
// Find the first document that has a quantity greater than 25 const query = { "quantity": { "$gte": 25 } }; // Sort the documents in order of descending quantity before // deleting the first one. const options = { "sort": { "quantity": -1 } } return itemsCollection.findOneAndDelete(query, options) .then(deletedDocument => { if(deletedDocument) { console.log(`Successfully deleted document that had the form: ${deletedDocument}.`) } else { console.log("No document matches the provided query.") } return deletedDocument }) .catch(err => console.error(`Failed to find and delete document: ${err}`))
パラメーター
findOneAndDelete( query: object, options?: object ): Promise<object | null>
Parameter | タイプ | 説明 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
query | object | 検索するドキュメントを指定するクエリフィルター。 コレクション内のすべてのドキュメントを一致させるには、空のクエリ( 評価 、 地理空間 、または ビットごと の セレクター を除くほとんどの クエリ セレクター を使用できます。これらのセレクターは、システム関数でのみ使用できます。 | ||||||||||
options | object | 追加の構成オプションを指定するオブジェクト。 | ||||||||||
options.sort | boolean | 任意。 クエリのソート順序を指定します。 並べ替えるフィールドを 1 つ以上指定できます。各フィールドの値は、MongoDB が昇順( 例次の並べ替えドキュメントでは、ドキュメントを最高から最低への
| ||||||||||
options.projection | boolean | MongoDB が一致するドキュメントに含めるフィールドまたは省略するフィールドを指定するドキュメント。 一致するドキュメント内のすべてのフィールドを返すには、このパラメーターを省略するか、空のプロジェクション ドキュメント( 特定のフィールドとドキュメントの
特定のフィールドを除外するには、プロジェクション ドキュメント内のフィールドを
注意含めるフィールドと除外するフィールドのいずれかを指定できますが、両方は指定しないでください。 たとえば、次のプロジェクションには、 フィールドが同時に含まれ、 フィールドが保留されているため 無効
このルールの例外は
| ||||||||||
options.session | ClientSession | 任意。 操作が発生するトランザクションコンテキストを表すセッション オブジェクト。 詳細については、「トランザクション 」を参照してください。 |
戻り値
collection.findOneAndDelete()
メソッドは Promise を返します クエリが削除した 1 つのドキュメントに解決されます。指定したクエリに一致するドキュメントがない場合、Promise はnull
に解決されます。
Promise<object | null>
collection.insertOne()
コレクションに 1 つのドキュメントを挿入し、挿入されたドキュメントの_id
を返します。
const newItem = { "name": "Plastic Bricks", "quantity": 10, "category": "toys", "reviews": [{ "username": "legolover", "comment": "These are awesome!" }] }; itemsCollection.insertOne(newItem) .then(result => console.log(`Successfully inserted item with _id: ${result.insertedId}`)) .catch(err => console.error(`Failed to insert item: ${err}`))
パラメーター
insertOne(document: object): Promise<object>
Parameter | タイプ | 説明 |
---|---|---|
document | object | コレクションに挿入するドキュメント。 |
戻り値
collection.insertOne()
メソッドは Promise を返します 挿入操作を記述するドキュメントに解決されます。
Promise<object>
値 | タイプ | 説明 |
---|---|---|
result.insertedId | string | 挿入操作によってコレクションに追加されたドキュメントの _id 値。 |
collection.insertMany()
コレクションに 1 つ以上のドキュメントを挿入し、挿入された各ドキュメントの_id
値を含むリストを返します。
const doc1 = { "name": "basketball", "category": "sports", "quantity": 20, "reviews": [] }; const doc2 = { "name": "football", "category": "sports", "quantity": 30, "reviews": [] }; return itemsCollection.insertMany([doc1, doc2]) .then(result => { console.log(`Successfully inserted ${result.insertedIds.length} items!`); return result }) .catch(err => console.error(`Failed to insert documents: ${err}`))
パラメーター
insertMany( document: object, options?: { ordered?: boolean }, ): Promise<object>
Parameter | タイプ | 説明 |
---|---|---|
documents | object | コレクションに挿入するドキュメントの配列。 |
options | object | 追加の構成オプションを指定するオブジェクト。 |
options.ordered | boolean | 任意。 mongodインスタンスで実行されるのが順序付き挿入か順序なし挿入かを指定するブール値。 デフォルトは true です。 |
戻り値
collection.insertMany()
メソッドは Promise を返します 挿入操作を記述するドキュメントに解決されます。
Promise<object>
値 | タイプ | 説明 |
---|---|---|
result.insertedIds: Array<ObjectID> | string | 挿入操作によって コレクションに追加されたすべてのドキュメントの _id 値を、メソッドに渡された順序で含む配列。 |
collection.updateOne()
コレクション内の 1 つのドキュメントを更新し、操作に関するメタデータを返します。
const query = { "name": "football" }; const update = { "$push": { "reviews": { "username": "tombradyfan", "comment": "I love football!!!" } } }; const options = { "upsert": false }; itemsCollection.updateOne(query, update, options) .then(result => { const { matchedCount, modifiedCount } = result; if(matchedCount && modifiedCount) { console.log(`Successfully added a new review.`) } }) .catch(err => console.error(`Failed to add review: ${err}`))
パラメーター
updateOne( query: object, update: object, options?: object ): Promise<object>
Parameter | タイプ | 説明 |
---|---|---|
query | object | 検索するドキュメントを指定するクエリフィルター。 コレクション内のすべてのドキュメントを一致させるには、空のクエリ( 評価 、 地理空間 、または ビットごと の セレクター を除くほとんどの クエリ セレクター を使用できます。これらのセレクターは、システム関数でのみ使用できます。 |
update | object | MongoDB 更新演算子 を使用して実行する変更を指定する 更新ドキュメント 。 |
options | object | 追加の構成オプションを指定するオブジェクト。 |
options.upsert | boolean | 任意。デフォルト: ブール値が |
options.session | ClientSession | 任意。 操作が発生するトランザクションコンテキストを表すセッション オブジェクト。 詳細については、「トランザクション 」を参照してください。 |
戻り値
collection.updateOne()
メソッドは Promise を返します アップデート操作を記述するドキュメントに解決されます。
Promise<object>
値 | タイプ | 説明 |
---|---|---|
result.matchedCount | number | 指定されたクエリに一致するコレクション内のドキュメントの数。 |
result.modifiedCount | number | 更新操作によって変更されたコレクション内のドキュメントの数。 |
result.upsertedId | string | アップサート 操作によって挿入されたドキュメントの _id 値。 この値は、 upsert オプションが有効になっていて、更新クエリがどのドキュメントにも一致しない場合にのみ存在します。 |
collection.updateMany()
コレクション内の 1 つ以上のドキュメントを更新し、操作に関するメタデータを返します。
const query = {}; const update = { "$mul": { "quantity": 10 } }; const options = { "upsert": false } return itemsCollection.updateMany(query, update, options) .then(result => { const { matchedCount, modifiedCount } = result; console.log(`Successfully matched ${matchedCount} and modified ${modifiedCount} items.`) return result }) .catch(err => console.error(`Failed to update items: ${err}`))
パラメーター
updateMany( query: object, update: object, options?: object ): Promise<object>
Parameter | タイプ | 説明 |
---|---|---|
query | object | 検索するドキュメントを指定するクエリフィルター。 コレクション内のすべてのドキュメントを一致させるには、空のクエリ( 評価 、 地理空間 、または ビットごと の セレクター を除くほとんどの クエリ セレクター を使用できます。これらのセレクターは、システム関数でのみ使用できます。 |
update | object | MongoDB 更新演算子 を使用して実行する変更を指定する 更新ドキュメント 。 |
options | object | 追加の構成オプションを指定するオブジェクト。 |
options.upsert | boolean | 任意。デフォルト: ブール値が |
options.session | ClientSession | 任意。 操作が発生するトランザクションコンテキストを表すセッション オブジェクト。 詳細については、「トランザクション 」を参照してください。 |
戻り値
collection.updateMany()
メソッドは Promise を返します アップデート操作を記述するドキュメントに解決されます。
Promise<object>
値 | タイプ | 説明 |
---|---|---|
result.matchedCount | number | 指定されたクエリに一致するコレクション内のドキュメントの数。 |
result.modifiedCount | number | 更新操作によって変更されたコレクション内のドキュメントの数。 |
result.upsertedId | string | アップサート 操作によって挿入されたドキュメントの _id 値。 この値は、 upsert オプションが有効になっていて、更新クエリがどのドキュメントにも一致しない場合にのみ存在します。 |
Collection.deleteOne()
コレクションから 1 つのドキュメントを削除します。
const query = { "name": "lego" }; itemsCollection.deleteOne(query) .then(result => console.log(`Deleted ${result.deletedCount} item.`)) .catch(err => console.error(`Delete failed with error: ${err}`))
パラメーター
deleteOne( query: object, options?: object ): Promise<object>
Parameter | タイプ | 説明 |
---|---|---|
query | object | 検索するドキュメントを指定するクエリフィルター。 コレクション内のすべてのドキュメントを一致させるには、空のクエリ( 評価 、 地理空間 、または ビットごと の セレクター を除くほとんどの クエリ セレクター を使用できます。これらのセレクターは、システム関数でのみ使用できます。 |
options | object | 追加の構成オプションを指定するオブジェクト。 |
options.session | ClientSession | 任意。 操作が発生するトランザクションコンテキストを表すセッション オブジェクト。 詳細については、「トランザクション 」を参照してください。 |
戻り値
collection.deleteOne()
メソッドは Promise を返します は、削除操作を記述するドキュメントに解決されます。
Promise<object>
値 | タイプ | 説明 |
---|---|---|
result.deletedCount | number | 削除操作によって削除されたコレクション内のドキュメントの数。 |
Collection.deleteMany()
コレクションから 1 つ以上のドキュメントを削除します。
const query = { "reviews": { "$size": 0 } }; itemsCollection.deleteMany(query) .then(result => console.log(`Deleted ${result.deletedCount} item(s).`)) .catch(err => console.error(`Delete failed with error: ${err}`))
パラメーター
deleteMany( query: object, options?: object ): Promise<object>
Parameter | タイプ | 説明 |
---|---|---|
query | object | 検索するドキュメントを指定するクエリフィルター。 コレクション内のすべてのドキュメントを一致させるには、空のクエリ( 評価 、 地理空間 、または ビットごと の セレクター を除くほとんどの クエリ セレクター を使用できます。これらのセレクターは、システム関数でのみ使用できます。 |
options | object | 追加の構成オプションを指定するオブジェクト。 |
options.session | ClientSession | 任意。 操作が発生するトランザクションコンテキストを表すセッション オブジェクト。 詳細については、「トランザクション 」を参照してください。 |
戻り値
collection.deleteMany()
メソッドは Promise を返します は、削除操作を記述するドキュメントに解決されます。
Promise<object>
値 | タイプ | 説明 |
---|---|---|
result.deletedCount | number | 削除操作によって削除されたコレクション内のドキュメントの数。 |
collection.aggregate()
集計パイプラインを実行し、パイプラインの出力ドキュメントにアクセスできるようにするカーソルを返します。
const pipeline = [ { "$group": { "_id": "$customerId", "numPurchases": { "$sum": 1 }, "numItemsPurchased": { "$sum": { "$size": "$items" } } } }, { "$addFields": { "averageNumItemsPurchased": { "$divide": ["$numItemsPurchased", "$numPurchases"] } } } ] return purchasesCollection.aggregate(pipeline).toArray() .then(customers => { console.log(`Successfully grouped purchases for ${customers.length} customers.`) for(const customer of customers) { console.log(`customer: ${customer._id}`) console.log(`num purchases: ${customer.numPurchases}`) console.log(`total items purchased: ${customer.numItemsPurchased}`) console.log(`average items per purchase: ${customer.averageNumItemsPurchased}`) } return customers }) .catch(err => console.error(`Failed to group purchases by customer: ${err}`))
パラメーター
aggregate( pipeline: object[], options?: object ): Cursor
Parameter | タイプ | 説明 |
---|---|---|
pipeline | object[] | 1 つ以上の集計パイプライン ステージ の配列。 注意サポートされている集計ステージAtlas App Services はほぼすべての MongoDB 集計パイプラインのステージと演算子をサポートしていますが、一部のステージと演算子はシステム関数内で実行する必要があります。 詳細については、「集計フレームワークの制限」を参照してください。 |
options | object | 追加の構成オプションを指定するオブジェクト。 |
options.session | ClientSession | 任意。 操作が発生するトランザクションコンテキストを表すセッション オブジェクト。 詳細については、「トランザクション 」を参照してください。 |
戻り値
collection.aggregate()
メソッドは、集計パイプラインの最終ステージからのドキュメント出力を指すカーソル オブジェクトを返します。 次の方法を使用して、集計結果セット内のドキュメントを操作し、アクセスできます。
方式 | 説明 |
---|---|
cursor.next() | |
cursor.toArray() | |
cursor.skip(amount) | 集計結果セットから除外する一致するドキュメントの数を指定します。 MongoDB は、指定された数をスキップするまで、ソート順で結果セットからドキュメントを省略します。 注意
|
注意
関数からカーソルを返すことはできません。 代わりに、 cursor.next()
またはcursor.toArray()
を使用してカーソルを評価し、結果を返します。
collection.count()
指定されたクエリに一致するコレクションまたはビュー内のドキュメントの数を返します。
return itemsCollection.count({ "reviews.0": { "$exists": true } }) .then(numDocs => console.log(`${numDocs} items have a review.`)) .catch(err => console.error("Failed to count documents: ", err))
パラメーター
count( query?: object, options?: object ): Promise<number>
Parameter | タイプ | 説明 |
---|---|---|
query | object | 任意。 検索するドキュメントを指定するクエリフィルター。 コレクション内のすべてのドキュメントを一致させるには、空のクエリ( 評価 、 地理空間 、または ビットごと の セレクター を除くほとんどの クエリ セレクター を使用できます。これらのセレクターは、システム関数でのみ使用できます。 |
options | object | 追加の構成オプションを指定するオブジェクト。 |
options.session | ClientSession | 任意。 操作が発生するトランザクションコンテキストを表すセッション オブジェクト。 詳細については、「トランザクション 」を参照してください。 |
戻り値
collection.count()
メソッドは Promise を返します は、クエリに一致するコレクション内のドキュメントの整数に解決されます。
Promise<number>
値 | 説明 |
---|---|
Count Result numDocs: <integer> | 指定されたクエリに一致するコレクション内のドキュメントの数。 |
collection. distinct()
指定されたクエリフィルターに一致するドキュメントを検索し、一致したすべてのドキュメント全体の特定のフィールドの個別の値のリストを返します。
1 const taskCollection = context.services.get("mongodb-atlas") 2 .db("tracker").collection("tasks"); 3 4 return taskCollection.distinct("status", {}) 5 .then(results => { 6 console.log(JSON.stringify(results)); 7 console.log(results.length); 8 }) 9 .catch(err => console.error(err))
パラメーター
distinct( field: string, query: object, options?: object ): Promise<any[]>
Parameter | タイプ | 説明 |
---|---|---|
field | string | 個別の値を検索する各ドキュメント内のフィールドの名前。 |
query | object | 検索するドキュメントを指定するクエリフィルター。 コレクション内のすべてのドキュメントを一致させるには、空のクエリ( 評価 、 地理空間 、または ビットごと の セレクター を除くほとんどの クエリ セレクター を使用できます。これらのセレクターは、システム関数でのみ使用できます。 |
options | object | 追加の構成オプションを指定するオブジェクト。 |
options.session | ClientSession | 任意。 操作が発生するトランザクションコンテキストを表すセッション オブジェクト。 詳細については、「トランザクション 」を参照してください。 |
戻り値
collection.distinct()
メソッドは Promise を返します 個別の値の配列に解決されます。
Promise<any[]>
collection.bulkWrite()
コレクションに対して複数の挿入、アップデート、削除操作を 1 回の呼び出しで実行します。 bulkWrite()
関数内で、次の書き込み操作を 1 つ以上指定できます。
insertOne
updateOne
updateMany
deleteOne
deleteMany
replaceOne
注意
一括書込みは 1 つのコレクションに対してのみ操作できます。
exports = async function(arg){ const doc1 = { "name": "velvet elvis", "quantity": 20, "reviews": [] }; const doc2 = { "name": "mock turtleneck", "quantity": 30, "reviews": [] }; var collection = context.services.get("mongodb-atlas") .db("store") .collection("purchases"); return await collection.bulkWrite( [{ insertOne: doc1}, { insertOne: doc2}], {ordered:true}); };
パラメーター
bulkWrite( operations: object[], options?: object ): Promise<null>
Parameter | タイプ | 説明 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operations | object[] | 実行する bulkWrite 操作の配列。 サポートされている操作の例には、次のようなものがあります。
| |||||||||||
options | object | 追加の構成オプションを指定するオブジェクト。 | |||||||||||
options.ordered | boolean | 任意。デフォルト:
注意順序なし操作は MongoDB が並列に実行できるため論理的に高速ですが、書込みが順序に依存しない場合にのみ使用してください。 | |||||||||||
options.bypassDocumentValidation | boolean | 任意。デフォルト:
| |||||||||||
options.session | ClientSession | 任意。 操作が発生するトランザクションコンテキストを表すセッション オブジェクト。 詳細については、「トランザクション 」を参照してください。 |
戻り値
collection.bulkWrite()
関数は Promise を返しますnull
これは に解決されます。
Promise<null>