1. 程式人生 > >MongoDB學習筆記

MongoDB學習筆記

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學習筆記