Mongodb數據庫
簡介
- MongoDB是一個基于分布式文件存儲的數據庫。由C++語言編寫。旨在為WEB應用提供可擴展的高性能數據存儲解決方案。
- 介于關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。他支持的數據結構非常松散,是類似json的bson格式,因此可以存儲比較復雜的數據類型。
特點
它的特點是高性能、易部署、易使用,存儲數據非常方便。主要功能特性:
- 面向集合存儲,易存儲對象類型的數據。
- 模式自由。
- 支持動態查詢。
- 支持完全索引,包含內部對象。
- 支持查詢。
- 支持復制和故障恢復。
- 使用高效的二進制數據存儲,包括大型對象(如視頻等)。
- 自動處理碎片,以支持云計算層次的擴展性。
- 支持RUBY,PYTHON,JAVA,C++,PHP,C#等多種語言。
- 文件存儲格式為BSON(一種JSON的擴展)。
- 可通過網絡訪問。
對mongodb數據庫進行基本操作命令
1. show dbs
這個可以顯示當前的實例下所有數據庫的列表!
2. use test1
使用test1數據庫,沒有則默認創建
3. db.test1.save({"name":"qlier", age:21, "sex":"male"});插入一條數據。
db.test1.insert({"name":"tom", age:19, "sex":"male"});也是插入一條數據。
他們區別在于:insert僅僅是插入文檔到集合中,如果記錄不存在則插入,如果記錄存在則忽略。save是在文檔不存在時插入,存在時則是更新。
4. db.test1.find();
這個可以查詢test1集合中所有的數據。
5. db.test1.find().pretty();
格式化查詢
格式化查詢.jpg
6. db.test1.update({name:"tom"}, {$set:{name:"Jim"}});
更新數據
7. db.test1.remove({name:"Jim"});
刪除一條數據
8. db.test1.insertMany([{"name":"d1",age:21},{"name":"d2",age:22},{"name":"d3",age:23}]);
插入多條數據
插入多條數據.jpg
這些都是很常用的基本的查詢操作,還有更復雜的查詢,比如group查詢、聯合查詢、正則表達式查詢、null值的處理等!