Getting started
Installing
Blini is an npm module, so to install it you do:
$ npm install Blini --save
Importing
Once you've install it, you'll need to import it.
import { Schema, Model, Validation, Type, Connection } from 'Blini'
Create a connection to MongoDB
The first step
In addition to loading the module, you need to give Blini a connection to work with. Without it, Blini can't access the database.
The connection doesn't require to be initialized, it'll be established as soon as database operations are required.
const connection = new Connection('mongodb://localhost:27017/myproject');
Create a schema
A schema describe the structure of the documents. It is basically a map of field name to Type
.
const userSchema = new Schema({
username: Type.String({
validation: [
Validation.required(),
Validation.minLength(3, 'Username should be 3 characters min'),
Validation.maxLength(30, 'Username should be 40 characters max')
],
index: {
unique: true
}
}),
books: Type.Set(Type.Ref('Book'), {
validations: [
Validation.default([]),
]
})
})
Follow the "Create a Schema" guide to get more insight on how schemas work.
Create a new document model
Once the data schema is defined, the next step is to create the model which store operations around the database for a schema.
class User extends Model(userSchema, connection, 'User') {
static getByUsername(username) {
return this
.findOne({
username: username
})
.exec();
}
}
Create new documents
Using the document model, we can initialize new document instances and populate the database:
let user = new User({
username: 'JohnDoe'
})
user.save()
.then(function(savedUser) {
...
})
Query the collection
Querying documents from the database and update it:
User.findOne({ username: 'JohnDoe' })
.then(function(user) {
const modified = user.merge({
username: "John"
})
return modified.save()
})
Last updated
Was this helpful?