mongodb-data-api
0.4.0 • Public • Publishedmongodb-data-api
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.
API.findOne
API.find
API.insertOne
API.insertMany
API.updateOne
API.updateMany
API.replaceOne
API.deleteOne
API.deleteMany
API.aggregate
Action examples
- 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)})
- 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)})
- 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
Package Sidebar
Install
npm i mongodb-data-api
Repository
Weekly Downloads
48
Version
0.4.0
License
MIT
Unpacked Size
42.3 kB
Total Files
8