Beautifully-designed print-ready PDF
$ mongod
: start MongoDB server (localhost:27017)$ mongo
: open MongoDB console (connect to local server by default)
> show dbs
: show databases on the server> use DB_NAME
: select databaseDB_NAME
> show collections
: show collections in the selected database> db.COLLECTION_NAME.find()
: perform the find query on collection with the COLLECTION_NAME name to find any items> db.COLLECTION_NAME.find({"_id": ObjectId("549d9a3081d0f07866fdaac6")})
: perform the find query on collection with the COLLECTION_NAME name to find item with ID 549d9a3081d0f07866fdaac6> db.COLLECTION_NAME.find({"email": /gmail/})
: perform the find query on collection with the COLLECTION_NAME name to find items with email property matching/gmail
> db.COLLECTION_NAME.update(QUERY_OBJECT, SET_OBJECT)
: perform the update query on collection with the COLLECTION_NAME name to update items that match QUERY_OBJECT with SET_OBJECT> db.COLLECTION_NAME.remove(QUERY_OBJECT)
: perform remove query for items matching QUERY_OBJECT criteria on the COLLECTION_NAME collection> db.COLLECTION_NAME.insert(OBJECT)
: add OBJECT to the collection with the COLLECTION_NAME name
$ sudo npm install mongoose
: install the latest Mongoose locally`$ sudo npm install mongoose@3.8.20 --save
: install Mongoose v3.8.20 locally and save topackage.json
var mongoose = require('mongoose')
var dbUri = 'mongodb://localhost:27017/api'
var dbConnection = mongoose.createConnection(dbUri)
var Schema = mongoose.Schema
var postSchema = new Schema ({
title: String,
text: String
})
var Post = dbConnection.model('Post', postSchema, 'posts')
Post.find({},function(error, posts){
console.log(posts)
process.exit(1)
})
String
Boolean
Number
Date
- Array
Buffer
Schema.Types.Mixed
Schema.Types.ObjectId
// Create
var post = new Post({title: 'a', text: 'b')
post.save(function(error, document){
...
})
// Read
Post.findOne(criteria, function(error, post) {
...
})
// Update
Post.findOne(criteria, function(error, post) {
post.set()
post.save(function(error, document){
...
})
})
// Delete
Post.findOne(criteria, function(error, post) {
post.remove(function(error){
...
})
})
find(criteria, [fields], [options], [callback])
: find document; callback has error and documents argumentscount(criteria, [callback]))
: return a count; callback has error and count argumentsfindById(id, [fields], [options], [callback])
: return a single document by ID; callback has error and document argumentsfindByIdAndUpdate(id, [update], [options], [callback])
: executes MongoDB's findAndModify to update by IDfindByIdAndRemove(id, [options], [callback])
: executes MongoDB's findAndModify to removefindOne(criteria, [fields], [options], [callback])
: return a single document; callback has error and document argumentsfindOneAndUpdate([criteria], [update], [options], [callback])
: executes MongoDB's findAndModify to updatefindOneAndRemove(id, [update], [options], [callback])
: executes MongoDB's findAndModify to removeupdate(criteria, update, [options], [callback])
: update documents; callback has error, and count argumentscreate(doc(s), [callback])
: create document object and save it to database; callback has error and doc(s) argumentsremove(criteria, [callback])
: remove documents; callback has error argument
save([callback])
: save the document; callback has error, doc and count argumentsset(path, val, [type], [options])
: set value on the doc's propertyget(path, [type])
: get the valueisModified([path])
: check if the property has been modifiedpopulate([path], [callback])
: populate referencetoJSON(options)
: get JSON from documentvalidate(callback)
: validate the document
animalSchema.query.byName = function(name) {
return this.where({ name: new RegExp(name, 'i') });
};
var Animal = mongoose.model('Animal', animalSchema);
Animal.find().byName('fido').exec(function(err, animals) {
console.log(animals);
});
Animal.findOne().byName('fido').exec(function(err, animal) {
console.log(animal);
});
var animalSchema = new Schema({
name: String,
type: String,
tags: { type: [String], index: true } // field level
});
animalSchema.index({ name: 1, type: -1 }); // schema level