MongoDB基本命令
成功啟動MongoDB後,再開啟一個命令列視窗輸入mongo,就可以進行資料庫的一些操作。
輸入help可以看到基本操作命令:
show dbs:顯示資料庫列表
show collections:顯示當前資料庫中的集合(類似關聯式資料庫中的表)
show users:顯示使用者
use <db name>:切換當前資料庫,這和MS-SQL裡面的意思一樣
db.help():顯示資料庫操作命令,裡面有很多的命令
db.foo.help():顯示集合操作命令,同樣有很多的命令,foo指的是當前資料庫下,一個叫foo的集合,並非真正意義上的命令
db.foo.find():對於當前資料庫中的foo集合進行資料尋找(由於沒有條件,會列出所有資料)
db.foo.find( { a : 1 } ):對於當前資料庫中的foo集合進行尋找,條件是資料中有一個屬性叫a,且a的值為1
資料庫常用命令
1、Help查看命令提示
help db.help(); db.yourColl.help(); db.youColl.find().help(); rs.help();
2、切換/建立資料庫
use yourDB; 當建立一個集合(table)的時候會自動建立當前資料庫
MongoDB沒有建立資料庫的命令,但有類似的命令。
如:如果你想建立一個“myTest”的資料庫,先運行use myTest命令,再向 runoob 資料庫插入一些資料。
例如
執行個體 以下執行個體我們建立了資料庫 runoob: > use runoob switched to db runoob > db runoob > 如果你想查看所有資料庫,可以使用 show dbs 命令: > show dbs local 0.078GB test 0.078GB > 可以看到,我們剛建立的資料庫 runoob 並不在資料庫的列表中, 要顯示它,我們需要向 runoob 資料庫插入一些資料。 > db.runoob.insert({"name":"菜鳥教程"}) WriteResult({ "nInserted" : 1 }) > show dbs local 0.078GB runoob 0.078GB test 0.078GB > MongoDB 中預設的資料庫為 test,如果你沒有建立新的資料庫,集合將存放在 test 資料庫中。
3、查詢所有資料庫
show dbs;
4、刪除當前使用資料庫
db.dropDatabase();
5、集合(文檔)
5.1刪除集合
db.collection.drop()
以下執行個體刪除了 runoob 資料庫中的集合 site:
> use runoobswitched to db runoob> show tablessite> db.site.drop()true> show tables>
6、文檔
文檔的資料結構和JSON基本一樣。
所有儲存在集合中的資料都是BSON格式。
BSON是一種類json的一種二進位形式的儲存格式,簡稱Binary JSON。
6.1建立文檔
格式
db.COLLECTION_NAME.insert(document) 如果該集合不在該資料庫中, 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)WriteResult({ "nInserted" : 1 })>
插入文檔你也可以使用 db.col.save(document) 命令。 如果不指定 _id 欄位 save() 方法類似於 insert() 方法。如果指定 _id 欄位,則會更新該 _id 的資料。
查看已插入的文檔
db.col.find()
6.2、更新文檔 Update 格式
db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> })
參數說明: query : update的查詢條件,類似sql update查詢內where後面的。 update : update的對象和一些更新的操作符(如$,$inc...)等,也可以理解為sql update查詢內set後面的 upsert : 可選,這個參數的意思是,如果不存在update的記錄,是否插入objNew,true為插入,預設是false,不插入。 multi : 可選,mongodb 預設是false,只更新找到的第一條記錄,如果這個參數為true,就把按條件查出來多條記錄全部更新。 writeConcern :可選,拋出異常的層級。 例如