mongopath

0.0.6 • Public • Published

Mongopath MongoDB Client

The client uses the model/command syntax. All commands return promises (async functions), so remember to use await. Ids are stored as strings unless overridden.

Each function takes query, values and options arguments depending on the command. Most mongodb options and query parameters are supported.

Install

npm i mongopath

Usage

/* Connect to database */
const connection = require('mongopath')
 
/* Default options */
const db = await connection({ url: 'mongodb://localhost:27017', name: 'mongopath' })
 
/* Insert document */
// Returns the inserted id: { _id: '507f191e810c19729de860ea' }
// Takes only 1 argument: query
const result = await db('projects/insert')({ name: 'hello' })
 
/* Update document (updates multiple if query matches) */
// Returns the number of updated documents: { n: 1 }
// Takes 2 arguments: query, values
const result = await db('projects/update')({ _id: '507f191e810c19729de860ea' }, { name: 'bye' })
 
/* Remove document (removes multiple if query matches) */
// Returns the number of removed documents: { n: 1 }
// Takes 1 argument: query
const result = await db('projects/remove')({ _id: '507f191e810c19729de860ea' })
 
/* Find document */
// Returns an array of matching documents
// Takes 2 arguments: query, options
 
// Find all
const result = await db('projects/find')()
 
// Find all with name 'bye'
const result = await db('projects/find')({ name: 'bye' })
 
// Find with sorting on 'name' field descending, use 1 for ascending
const result = await db('projects/find')({}, { sort: { name: -1 } })
 
// Find only 2
const result = await db('projects/find')({}, { limit: 2 })
 
// Find but skip 2
const result = await db('projects/find')({}, { skip: 2 })
 
// Find all but don't include the 'name' field in the result
const result = await db('projects/find')({}, { fields: { name: false } })
 
// Find all with 'level' field greater than 5
const result = await db('projects/find')({ level: { $gt: 5 }})
 
// All of the mongodb query operators work:
// https://docs.mongodb.com/manual/reference/operator/query/
 
/* Get document */
// Returns the first matching document
// Takes 2 arguments: query, options
const result = await db('projects/get')({ name: 'bye' })
 
/* Count documents */
// Returns the count of the matching query
// Takes 2 arguments: query, options
const result = await db('projects/count')({ name: 'bye' })

The source code and tests contain more examples of use.

MIT Licensed. Enjoy!

Readme

Keywords

none

Package Sidebar

Install

npm i mongopath

Weekly Downloads

3

Version

0.0.6

License

MIT

Unpacked Size

5.05 kB

Total Files

3

Last publish

Collaborators

  • eldoy