MongoDB是一個基於分佈式文件存儲的數據庫。由C++語言編寫。旨在爲WEB應用提供可擴展的高性能數據存儲解決方案。node
MongoDB是一個介於關係數據庫和非關係數據庫之間的產品,是非關係數據庫當中功能最豐富,最像關係數據庫的。它支持的數據結構很是鬆散,是相似json的bson格式,所以能夠存儲比較複雜的數據類型。Mongo最大的特色是它支持的查詢語言很是強大,其語法有點相似於面向對象的查詢語言,幾乎能夠實現相似關係數據庫單表查詢的絕大部分功能,並且還支持對數據創建索引。linux
下載:wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.4.tgz
解壓:tar zxvf mongodb-linux-x86_64-4.0.4.tgz
移動文件:mv ./mongodb-linux-x86_64-4.0.4 /usr/local/mongodb
進入home建立倆文件夾:mkdir mongodb ; mkdir mongodblog
進入mongodblog建立log日誌:vi mongodb.log
進入mongodb:cd /usr/local/ ; cd mongodb/ ; cd bin/ ; cd ..
啓動mongo:./bin/mongod --dbpath /home/mongdb/ --logpath /home/mongodblog/mongodb.log --fork --port 27017mongodb
show dbs --查詢全部數據庫
use youdb --切換/建立數據庫
db.getName() --查看當前數據庫名
db.createCollection("youcollection") --建立集合
show collections --查詢全部集合
db.youcollection.save({name:"Jack",age:18,msg:"good"}) --增長
db.youcollection.find({age:18}) --查詢
db.youcollection.find({age:{$gt:10}}) --查詢age>20
db.youcollection.find({age:{$gte:10}}) --查詢age>=20
db.youcollection.find({age:{$lt:10}}) --查詢age<10
db.youcollection.find({age:{$lte:10}}) --查詢age<=10
db.youcollcetion.find({age:{$gt:16,$lt:20}}) --查詢age>16而且<20
db.youcollcetion.find({$and:[{age:18},{name:"Jack"}]}) --且查詢
db.youcollcetion.find({$or:[{age:18},{name:"Jack"}]}) --或查詢
db.youcollection.distinct("age") --去重
db.youcollcetion.find().skip(2).limit(2) --跳過第2個查詢2條
db.youcollcetion.find().count() --查詢總條數
db.youcollection.remove({age:18}) --刪除
db.youcollection.update({name:"Jack"},{$set:{age:20},flase,true) --修改數據庫
var mongo = require("mongodb").MongoClient var url = "mongodb://127.0.0.1:27017/test1" //增 function insert(coll,obj,callback){ mongo.connect(url,function(err,db){ if(err == null){ var database = db.db("test1") database.collection(coll).insertOne(obj,callback) db.close() }else{ console.log(err) } }) } //批量增 function insertMany(coll,arr,callback){ mongo.connect(url,function(err,db){ if(err == null){ var database = db.db("test1") database.collection(coll).insertMany(arr,callback) db.close() }else{ console.log(err) } }) } //查 function find(coll,where,callback){ mongo.connect(url,function(err,db){ if(err == null){ var database = db.db("test1") database.collection(coll).find(where).toArray(callback) db.close() }else{ console.log(err) } }) } //改 function update(coll,where,update,callback){ mongo.connect(url,function(err,db){ if(err == null){ var database = db.db("test1") database.collection(coll).updateOne(where,update,callback) db.close() }else{ console.log(err) } }) } //刪 function deleted(coll,where,callback){ mongo.connect(url,function(err,db){ if(err == null){ var database = db.db("test1") database.collection(coll).deleteOne(where,callback) db.close() }else{ console.log(err) } }) } //導出模塊 module.exports = { insert, insertMany, find, update, deleted, }