MongoDB學習筆記
阿新 • • 發佈:2018-03-16
reg cti 計算 move mysq rip update tags oob 1、每次啟動需要配置啟動文件
mongod --dbpath G:\data\db
執行完上面命令再打開一個新的窗口執行 mongo
2、show dbs #查看所有數據庫
use mydb #使用mydb數據庫
show collections #查看該數據庫下所有的表
3、MongoDB中的查詢
db.col.find() #查看col集合下所有的document(document相當於mysql中的row)
db.col.find().pretty() #以格式化的方式來顯示所有文檔
db.col.find({"by":"菜鳥教程"}) #條件查詢相當於sql中 where by = ‘菜鳥教程‘
db.col.find({"likes":{$lt:50}}) # where likes < 50
db.col.find({"likes":{$lte:50}}) #where likes <= 50
db.col.find({"likes":{$gt:50}}) # where likes > 50
db.col.find({"likes":{$gte:50}}) #where likes >= 50
db.col.find({"likes":{$ne:50}}) #where likes != 50
db.col.find({"by":"菜鳥教程", "title":"MongoDB 教程"}) #WHERE by=‘菜鳥教程‘ AND title=‘MongoDB 教程‘
db.col.find({$or:[{"by":"菜鳥教程"},{"title": "MongoDB 教程"}]}) #WHERE by=‘菜鳥教程‘ OR title=‘MongoDB 教程‘
db.col.find({"likes": {$gt:50}, $or: [{"by": "菜鳥教程"},{"title": "MongoDB 教程"}]}) #where likes>50 AND (by = ‘菜鳥教程‘ OR title = ‘MongoDB 教程‘)
4、MongoDB中的刪除
db.col.remove({‘title‘:‘MongoDB 教程‘}) #移除 title 為 ‘MongoDB 教程‘ 的文檔
db.col.remove({}) #刪除col中的數據
5、兩種MongoDB中的插入
db.col.insert({title: ‘MongoDB 教程‘, description: ‘MongoDB 是一個 Nosql 數據庫‘, by: ‘菜鳥教程‘, url: ‘http://www.runoob.com‘, tags: [‘mongodb‘, ‘database‘, ‘NoSQL‘], likes: 100 })
document=({title: ‘MongoDB 教程‘, description: ‘MongoDB 是一個 Nosql 數據庫‘, by: ‘菜鳥教程‘, url: ‘http://www.runoob.com‘, tags: [‘mongodb‘, ‘database‘, ‘NoSQL‘], likes: 100 });
db.col.insert(document)
6、MongoDB中的更新
db.col.update({‘title‘:‘MongoDB 教程‘},{$set:{‘title‘:‘MongoDB‘}}) #通過 update() 方法來更新標題(title)
#save() 方法通過傳入的文檔來替換已有文檔
db.col.save({ "_id" : ObjectId("56064f89ade2f21f36b03136"), "title" : "MongoDB", "description" : "MongoDB 是一個 Nosql 數據庫", "by" : "Runoob", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "NoSQL" ], "likes" : 110 }) #替換了 _id 為 56064f89ade2f21f36b03136 的文檔數據
7、MongoDB中的排序
使用sort()方法對數據進行排序,sort()方法可以通過參數指定排序的字段,其中 1 為升序排列,而-1是用於降序排列
db.col.find({},{"title":1,_id:0}).sort({"likes":-1}) #col 集合中的數據按字段 likes 的降序排列
8、MongoDB中的索引
db.col.ensureIndex({"title":1}) #為title字段建立索引,1為升序,2為降序
db.col.ensureIndex({"title":1,"description":-1}) #使用多個字段創建索引(關系型數據庫中稱作復合索引)
9、MongoDB中的聚合(aggregate)
主要用於處理數據(諸如統計平均值,求和等),並返回計算後的數據結果。有點類似sql語句中的 count(*)
db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : 1}}}]) #集合計算每個作者所寫的文章數,$sum計算總和,類似於select by_user as _id, count(*) as num_tutorial from mycol group by by_user
MongoDB學習筆記