Manager
Monastery manager constructor.
Arguments
uri
(string|array): A mongo connection string URI. Replica sets can be an array or comma separated.
[options
] (object):
- [
defaultObjects=false
] (boolean): when inserting, undefined embedded documents and arrays are defined. - [
logLevel=2
] (number): 1=errors, 2=warnings, 3=info. You can also use the debug environment variableDEBUG=monastery:info
. - [
noDefaults
] (boolean|string|array): after find operations, don’t add defaults for any matching paths, e.g. [‘pet.name’]. You can override this per operation. - [
nullObjects=false
] (boolean): embedded documents and arrays can be set to null or an empty string (which gets converted to null). You can override this per field vianullObject: true
. - [
promise=false
] (boolean): return a promise instead of the manager instance. - [
timestamps=true
] (boolean): whether to usecreatedAt
andupdatedAt
, this can be overridden per operation. - [
useMilliseconds=false
] (boolean): by default thecreatedAt
andupdatedAt
fields that get created automatically use unix timestamps in seconds, set this to true to use milliseconds instead. mongo options
…
Returns
A manager instance.
Example
import monastery from 'monastery'
const db = monastery('localhost/mydb', options)
// replica set
const db = monastery('localhost/mydb,192.168.1.1')
// you can wait for the connection (which is not required before calling methods)
const db = await monastery('localhost/mydb,192.168.1.1', { promise: true })
You can also listen for errors or successful connection using these hooks
db.onOpen((manager) => {
// manager.client is connected...
})
db.onError((err) => {
// connection error
})
Properties
manager.db
: Raw Mongo db instancemanager.client
: Raw Mongo client instance, which you can use to create transactions.
Methods
manager.id(<String|ObjectId>)
: Create or convert a valid MongoDB ObjectId string into an ObjectIdmanager.isId(String|ObjectId)
: Checks if the passed variable is a valid MongoDB ObjectId or ObjectId stringmanager.model()
: see modelmanager.models()
: see modelsmanager.onError(Function)
: Catches connection errorsmanager.onOpen(Function)
: Triggers on successful connectionmanager.getSignedUrl(path, expires, bucket)
: You can sign AWS S3 paths using this image plugin helper
Dates
Dates are unix timestamps in seconds, you change this to milliseconds via the manager configurations. We hope to support other string based timestamp variations soon..