Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

MongoDB Atlas Data API SDK for@nodejs

License

NotificationsYou must be signed in to change notification settings

surmon-china/mongodb-data-api

Repository files navigation

mongodb-data-api

GitHub stars npm Test Codecov GitHub license

MongoDB AtlasData API SDK for Node.js.


Installation

npm install mongodb-data-api --save

or

yarn add mongodb-data-api

Usage

Init

import{createMongoDBDataAPI}from'mongodb-data-api'// init by URL Endpointconstapi=createMongoDBDataAPI({apiKey:'<your_mongodb_api_key>',urlEndpoint:'https://data.mongodb-api.com/app/<your_mongodb_app_id>/endpoint/data/v1'})// or init by app IDconstapi=createMongoDBDataAPI({apiKey:'<your_mongodb_api_key>',appId:'<your_mongodb_app_id>'})// specific region and cloud of appconstapi=createMongoDBDataAPI({apiKey:'<your_mongodb_api_key>',appId:'<your_mongodb_app_id>',region:'<your_mongodb_app_region>',// e.g. us-east-1cloud:'<your_mongodb_app_cloud>'// e.g. aws})

Actions

SeeMongoDB Data API Resources.

Action examples

  1. find a single document
api.findOne({dataSource:'<target_cluster_name>',database:'<target_database_name>',collection:'<target_collection_name>',filter:{name:'Surmon'}}).then((result)=>{console.log(result.document)})
  1. insert a single document
api.insertOne({dataSource:'<target_cluster_name>',database:'<target_database_name>',collection:'<target_collection_name>',document:{name:'Surmon',age:19}}).then((result)=>{console.log(result.insertedId)})
  1. run an aggregation pipeline
api.aggregate({dataSource:'<target_cluster_name>',database:'<target_database_name>',collection:'<target_collection_name>',pipeline:[{$match:{status:'urgent'}},{$group:{_id:'$productName',sumQuantity:{$sum:'$quantity'}}}]}).then((result)=>{console.log(result.documents)})

Method chaining

// select clusterconstclusterA=api.$cluster('a')// select databaseconstdatabaseB=clusterA.$database('b')// select collectionconstcollectionC=databaseB.$collection<C>('c')// data actionsconstdata=awaitcollectionC.findOne({filter:{/*...*/}})constresult=awaitcollectionC.insertOne({document:{/*...*/}})// -------------// chaining is equivalent to the api callapi.$cluster('a').$database('b').$collection<C>('c').findOne({filter:{}})// the same asapi.findOne<C>({dataSource:'a',database:'b',collection:'c',filter:{}})

Specific Action

You can specify the action request to prevent this package from lagging relative to the official one.

api.$$action('findOne',{dataSource:'...',database:'...',collection:'...',filter:{}})

Original Class

You can use the original Class to implement some special requirements.

import{MongoDBDataAPI}from'mongodb-data-api'constcustomerCollection=newMongoDBDataAPI<CustomerDocument>({apiKey:'<your_mongodb_api_key>',appId:'<your_mongodb_app_id>'},{dataSource:'<target_cluster_name>',database:'<target_database_name>',collection:'<target_collection_name>'})constcustomer=awaitcustomerCollection.findOne({ ...})

Development

# install dependenciesyarn# lintyarn lint# testyarntest# buildyarn build

Changelog

Detailed changes for each release are documented in therelease notes.

License

MIT

Contributors3

  •  
  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp