一、基本操作
-
準(zhǔn)備工作
下載
安裝
配置環(huán)境變量在安裝目錄的bin目錄為環(huán)境變量的路徑
最后cmd輸入
mongod --version
測(cè)試是否安裝成功 -
啟動(dòng)和關(guān)閉數(shù)據(jù)庫(kù)
mongod
#默認(rèn)存儲(chǔ)路徑為安裝盤(pán)的根路徑/data/db 作為存儲(chǔ)的目錄
#所以在第一次使用的時(shí)候要新建一個(gè)/data/db
?
?
#修改默認(rèn)路徑
mongod --dbpath=數(shù)據(jù)存儲(chǔ)目錄路徑
停止:
crtl+c 或者直接關(guān)掉控制臺(tái)
-
鏈接數(shù)據(jù)庫(kù)
mongo
可以鏈接默認(rèn)鏈接本機(jī)服務(wù)輸入
exit
可以斷開(kāi)鏈接 -
基本命令
#查看顯示所有數(shù)據(jù)庫(kù)
show dbs
?
#創(chuàng)建數(shù)據(jù)庫(kù)
##切換到指定數(shù)據(jù)庫(kù)(如果沒(méi)有就新建)
use 數(shù)據(jù)庫(kù)名稱
?
#查看當(dāng)前操作的數(shù)據(jù)庫(kù)
db
二奉瘤、node中操作MongoDB
-
使用官方的
mongodb
包來(lái)操作 -
使用第三方mongoose來(lái)操作mongoDB
基于官方包再一次做了封裝窒篱,名字叫mongoose
npm i mongoose
基本使用
const mongoose = require('mongoose');
//導(dǎo)入包
?
mongoose.connect('mongodb://localhost:27017/test', {useNewUrlParser: true});
//鏈接數(shù)據(jù)庫(kù)
?
const Cat = mongoose.model('Cat', { name: String });
//創(chuàng)建表cat為表的名字 其中還有一個(gè)name值 值的類型為字符串string
?
const kitty = new Cat({ name: 'Zildjian' });
創(chuàng)建一個(gè)cat實(shí)例在其中存入一個(gè)name為Zildjian
?
kitty.save().then(() => console.log('meow'));
//持久化保存kitty實(shí)例 然后如果成功則輸出meow
添加數(shù)據(jù)
var admin = new User([
?
username: ' admin',
password: ' 123456' ,
?
email: 'admin@admin.com'
)}
?
admin.save(function (err, ret) {
if(err){
console.log('保存失敗')
}else{
console.log('保存成功')
console.log(ret)
}
})
查詢數(shù)據(jù)
User.find({
name:'xxx' //查詢條件 name為xxx 沒(méi)有就是查詢所有 findOne就是查詢一個(gè)
},function(err.ret){
if(err){
console.log('查詢失敗')
} else{
console.log(ret)
}
})</pre>
刪除
User.remove({
name:'xxx' //刪除條件 name為xxx 沒(méi)有就是刪除所有 removeOne就是刪除一個(gè)
},function(err.ret){
if(err){
console.log('刪除失敗')
} else{
console.log('刪除成功')
console.log(ret)
}
})
更新數(shù)據(jù)
//通過(guò)id查詢更新 第一個(gè)參數(shù)是id,第二個(gè)是要更新的內(nèi)容县习,第三個(gè)是回調(diào)
User.findByIdAndUpdate('xxxxxxxxxxx',{}型型,function(err,ret){
if(err){
console.log('更新失敗')
}else{
console.log('更新成功')
}
})
?
?
//根據(jù)條件更新所有
Model.update(conditions, doc, [options], [callback])
?
//根據(jù)指定條件更新一個(gè)
Model.findOneAndUpdate([condtitons], [update], [options], [callback])