1. 程式人生 > >MongoDB資料庫在centos下的操作

MongoDB資料庫在centos下的操作

簡介

MongoDB是一個基於分散式檔案儲存的資料庫。由C++語言編寫。旨在為WEB應用提供可擴充套件的高效能資料儲存解決方案。

MongoDB是一個介於關係資料庫和非關係資料庫之間的產品,是非關係資料庫當中功能最豐富,最像關係資料庫的。它支援的資料結構非常鬆散,是類似json的bson格式,因此可以儲存比較複雜的資料型別。Mongo最大的特點是它支援的查詢語言非常強大,其語法有點類似於面向物件的查詢語言,幾乎可以實現類似關係資料庫單表查詢的絕大部分功能,而且還支援對資料建立索引。

Centos下安裝

下載: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 27017

指令

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)   --修改

nodejs下建立例項

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, }