(一)什么是MongoDB ?
MongoDB 是由C++語言編寫的,是一個基于分布式文件存儲的開源數據庫系統。
在高負載的情況下,添加更多的節點,可以保證服務器性能。
MongoDB 旨在為WEB應用提供可擴展的高性能數據存儲解決方案。
(二)mongodb基本用法---數據庫操作
1.db:查看當前指向的數據庫
2.show dbs:查看當前所有的數據庫
3.use <數據庫名稱>:指向一個數據庫
Use數據庫不會創建數據庫,如果操作數據會自動創建數據庫
4.db.dropDatabase():刪除當前指向的數據庫
> db
show dbs
use py1700---沒有的會創建 但必須插入一個內容
5.show collections:查看當前數據庫所有集合
6.db.createCollection([, options]):創建一個集合
db.createCollection("people")
7.db.<集合名稱>.drop():刪除指定的集合
> db.people.drop()
true
8.增?? db.<集合名稱>.insert(文檔)
#只增加一個
db.hero.insert({name:"diaochan"},{age:20},{sex:"nv"})
#增加多個 增加了多個文檔
db.hero.insertMany([{name:"diaochan"},{age:20},{sex:"nv"}])
db.hero.insert({name:"diaochan",age:20,sex:"nv"}])
db.hero.save({_id:2,name:"cui"})-----也是增加,可以自己給id賦值
9.改? db.<集合名稱>.update(,,[multi:])
?指定屬性更新:$opration
multi:默認false更新符合條件第一條,設置true全集合更新
db.hero.update({name:"daqiao"},{$set:{age:25}},{multi:true})
10.刪??? db.<集合名稱>.remove(, {justOne:})
db.hero.remove({name:"xuimengtign"},{justOne:1}}--------出現相同的我只刪除一條?? 默認不寫全刪除
11查
db.hero.find() ------------ 查詢所有?
db.hero.findOne()--------查詢第一個
db.hero.find().limit(n)--------查詢前n個
db.hero.find().skip(n).limit(m)-----先跳過n個在查詢m個
#運算符?? $lt--小于 $lte--<=? $gt--> ? $gte--->=
db.hero.find({age:{$lt:20}})---------列出年齡小于20
db.hero.find({age:{$gt:20}})---------列出年齡大于20
db.hero.find({age:{$gte:20}})---------列出年齡大于等于20
#判斷是否存在
db.hero.find({age:{$in:[10,20,30,25]}})? ----把條件用列表圈起來
db.hero.find({age:{$nin:[10,20,30,25]}})? ----不存在
#邏輯運算符
邏輯與:并且運算,默認操作,無運算符 邏輯
或:或者運算,$or
db.hero.find({$or:[{name:"daqiao"},{age:20}]})-------------或運算
#自定義條件
$where:通過函數自定義條件[JS函數]
db.hero.find({$where:function() {return this.age=20}})
#投影---默認id都顯示
db.hero.find({age:20},{age:1})------把符合id 年齡為25的表顯示出來但是只顯示年齡? 1--顯示
db.hero.find({age:25},{age:0})-----把符合id 年齡為25的表顯示出來但是不顯示年齡?? 0--不顯示
db.hero.find({age:25},{_id:0})-----不顯示id
#統計數量
db.hero.count()-----統計全部
db.hero.find({age:25}).count()----------find里面加條件
#去重? db.<集合名稱>.distinct(“去重域名稱”, {條件})
db.hero.distinct("age",{})------條件為空,表示對age下所有的內容去重
#排序
db.hero.find().sort({age:1})----------1:升序
db.hero.find().sort({age:-1})---------- -1:降序