mongoDB非关系型数据库
生活随笔
收集整理的這篇文章主要介紹了
mongoDB非关系型数据库
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一句話解釋:MongoDB是一個基于分布式文件存儲的數據庫。 由C++編寫。旨在為web程序提供可擴展性高的高性能的數據存儲解決方案
非關系數據庫和關系型數據庫的區別是什么?
- 實質:非關系型數據庫的實質:非關系型數據庫產品是傳統關系型數據庫的功能閹割版,通過減少用不到或很少用的功能,來大幅度提高產品性能。
- 價格:目前的非關系型數據庫基本都是免費的,而比較有名氣的關系型數據庫都是收費的,比如:Oracle、DB2、MSSQL。MySql雖然是免費的,但是處理大型數據還是要提前作很多工作的。
- 功能:實際開發中,很多業務需求,其實并不需要完整的關系型數據庫功能,非關系型數據庫的功能就足夠使用了。這種情況下,使用性能更高、成本更低的非關系型數據庫當然是更明智的選擇。
概念性的區別如下表所示:
了解關系型數據庫和非關系型數據庫的區別后,需要有一點的取舍,比較復雜和大型的項目不建議使用非關系型數據庫,但是如果你想作個博客,CMS系統這類業務邏輯不復雜的程序,MongoDB是完全可以勝任的。
mongoDB的操作語句:
查看數據庫列表 $ Show dbs ? 檢查數據庫 創建數據庫 ? ?$ use 數據庫名稱 創建集合 ? ? $ db.createCollection(“集合名”) ? // 集合 === 表 >{ok:1} 查看集合(一定先進入對應數據庫再進行查看) $?db.getCollectionNames() >[‘集合名'] 插入數據 ? ? $ db.集合名.insertOne(數據集合({}json形式的數據)) // 文檔 === 列 >{ "acknowledged" : true, ? //是否插入成功 "insertedId" : ObjectId("5aab2aaa93468a71aec836ce”)//插入的id } 查看數據 ? ?$?db.music.find() 查看數據庫中的數據 >? { "_id" : ObjectId("5aab2aaa93468a71aec836ce"), "title" : "回娘家" } { "_id" : ObjectId("5aab2b5e93468a71aec836cf"),?"title" : "再見理想" } Help命令? db.help() ? //db下的指令 db.test.help(); // db.test 下的所有指令 db.test.find().help(); //db.test.find下的所有指令 ………強大的help指令 使用數據庫 use ?數據庫名 查詢數據陸 show dbs 查看當前使用的數據庫 db/db.getName(); 顯示當前的數據庫狀態 db.stats(); 查看當前db的版本 db.version(); 查看數據庫連接地址; db.getMongo() 刪除數據庫 db.dropDatabase()? tip:刪除當前使用的數據庫。 集合(collection)操作 1.創建 createCollection(“collName”,{size:20,cappeu:true,max:10}) 2.得到指定名稱的集合? db.getCollection(“account”) 3.得到當前db所有的集合; db.getCollectionNames() 4.顯示當前db所有集合狀態 db.printCollectionStats(); 5.刪除集合 db.COLLECTION_NAME.drop(); 集合數據操作(添加,修改,刪除)update | updateMany() 1.添加 insert([,…]|{key:value,...}) db.users.save({name:”zhangsan”,”age”:25,sex:true}) 2.修改 updata(條件({})) db.users.update({age:25},{$set:{name:”changeName”}},false,true) 相當于sql語句的 ?update users set name = “changeName” where age = 25; db.users.update({name:”Lisi”},{$inc:{age:50}},false,true) 相當于sql語句的 ?update users set age = age + 50 where name =“lisi” db.users.update({name:”Lisi”},{$inc:{age:50},$set:{name:’hoho’}},false,true) 相當于sql語句的 : update users set age = age + 50 ,name = ‘hoho’ where name = “lisi" 3.刪除 db.users.remove({age:132}) db.users.delete() db.users.deleteOne() db.users.deleteMany() 豆瓣api?api.douban.com/v12/movie/top369 豆瓣數據的操作: 獲取到豆瓣的數據,然后將數據放入數據庫之中。? 查找對應數據; db.movie.find(條件,顯示內容) db.movie.find({year:1994},{title:1,year:1,_id:0})//表示顯示 title1 和 year1 _id不顯示; 1.表示顯示 ?0.表示不顯示; 排序 根據評分排序: db.movie.find({},{title:1,year:1,_id:0,'rating.average':1}).sort({'rating.average':-1}) 條件判斷:$gt 大于; $lt 小于; $gte 大于等于 $lte 小于等于; db.movie.find({‘arting.average’:$gt:9.5},{title:1,year:1,_id:0,'rating.average':1}).sort({'rating.average':-1}) 分類篩選: $in 包含 ?$nin 不包含 db.movie.find({genres:{$in:["犯罪","劇情"]}},{title:1,year:1,_id:0,'rating.average':1}).sort({'rating.average':-1})
?
?
轉載于:https://www.cnblogs.com/fengch/p/8635591.html
總結
以上是生活随笔為你收集整理的mongoDB非关系型数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: $GLOBALS -- 变量
- 下一篇: java mysql 数据库