1. 程式人生 > >mongodb啟動與運用

mongodb啟動與運用

ima pos size ons strong 是否 iss als b2c

在操作前需要啟動mongodb數據庫服務

1.首先打開dos窗口,然後選擇路徑到你的安裝路徑下的bin目錄(我的路徑是的D:mongo\mongodb\bin)

2.然後輸入啟動命令(D:mongo\data\db 是我的數據庫文件的目錄前邊兩個 – 不能少) mongod --dbpath D:mongo\data\db

3.回車dos界面出現 12701 的字樣說明服務啟動成功了如圖所示

技術分享圖片

服務啟動成功後 就需要操作了。這時候我們需要再打開一個dos窗口(服務啟動的窗口不要關閉)找到安裝路徑(我的安裝路徑 為 D:mongo\mongodb\bin) 執行 mongo 此時第一個dos窗口(也就是啟動服務的窗口會顯示)

#1 <1 connectionnow open> 字樣說明此時鏈接數據庫成功

技術分享圖片

操作數據庫的dos 窗口就可以繼續進行操作 ,例如查看所有數據庫結果如圖

技術分享圖片

也可以創建一個bat文件,不用每次都要敲擊這些命令。創建***.bat,在裏面輸入

start mongod --dppath="F:\MongoDB\Server\3.2\db"

就可以了,雙擊它就相當於在DOS下輸入命令。

我們在啟動MySQL的時候是通過net start mysql和net stop mysql來開啟和關閉的,那麽是否能使用net start MongoDB和net stop MongoDB來啟動和關閉呢?是可以的

首先,目錄logs和mongod.cfg,如

技術分享圖片

mongod.cfg裏面為:

logpath=F:\MongoDB\Server\3.2\logs\mongod.log
dbpath=F:\MongoDB\Server\3.2\db

然後在DOS命令裏輸入:

sc.exe create MongoDB binPath= "\"F:\MongoDB\Server\3.2\bin\mongod.exe\" --service --config= \"F:\MongoDB\Server\3.2\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"

回車就會看到

[sc] Create Service 成功

這個時候就可以使用net start MongoDB和net stop MongoDB來啟動跟關閉mongo服務了。

下邊是

基本操作:顯示所有數據庫:show dbs 用數據庫:use xxx

創建集合 db.createCollection("集合名稱",{capped:true,size:100000})

基本步驟:

新建數據庫(db) :use student

新建集合(Collection) db.createCollection("集合名稱");

可以新建文檔:(document) document={"1":"2","3":"4"}

查看所有數據庫:show dbs;

查看當前數據庫下的所有集合:db.printCollectionStats();

三.插入操作

可以先定義一個文檔document ,後將文檔插入到集合中。或者直接將輸入插入到集合中。

db.集合名稱.insert(已定義的文檔);

db.集合名稱.insert(數據);

四.查詢:

db.集合名稱.find();顯示文檔

db.集合名稱.find(where);

查詢姓名為字符類型的數據記錄

:$type操作符是基於BSON類型來檢索集合中匹配的結果。

db.集合名稱.find({"name":{$type:2}});

Double 1

String 2

Object 3

Array 4

Binary data 5

Object id 7

Boolean 8

Date 9

Null 10

Regular expression 11

JavaScript code 13

Symbol 14

JavaScript code with scope 15

32-bit integer 16

Timestamp 17

64-bit integer 18

Min key 255

Max key 127

db.集合名稱.find({條件}).limit(10); // 滿足條件的,取10條

五.更新操作

db.集合名稱.update(where,set,未找到插入新的為true,更新多條為true);

db.集合名稱.update({"id":"1"},{"$set":{"name":"yuan","sex":"男"}},false,true);

更新添加字段:$push

---db.student.update({"sno":2},{$push:{"classes":"san"}})

六.刪除

db.集合名稱.remove(where);

db.集合名稱.remove();刪除全部記錄

db.集合名稱.drop();刪除全部文檔(document)

七.操作符

(>) 大於 - $gt ---db.student.find({"sno":{"$gt":2}})

(<) 小於 - $lt---db.student.find({"sno":{"$lt":2}})

(>=) 大於等於 - $gte --示例:db.student.find({"sno":{"$gte":2}});

(<= ) 小於等於 - $lte --

八.一些操作

db.集合名稱.Count(where); ---顯示滿足條件的條數---db.student.count({"sno":{$type:1}});

db.集合名稱.distinct("key"); ---得到所有key的value(去掉重復的)---db.student.distinct("sno");

九.管理

查看collection數據的大小

db.集合名稱.dataSize()

#查看colleciont狀態

db.集合名稱.stats()

#查詢所有索引的大小

db.集合名稱.totalIndexSize()

.與SQL對照

MongoDB

MySQL

查詢全部

movies.find(new Document())

SELECT * FROM movies

條件查詢

movies.Find(new Document { { "title", "Hello Esr" } });

SELECT * FROM movies WHERE title= ‘foobar‘

查詢數量

movies.Find(new Document { { "title", "測試2" } }).Documents.Count();

SELECT COUNT(*) FROM movies WHERE `title` = ‘foobar‘

數量範圍查詢

1, movies.Find(new Document().Add("$where", new Code("this.num > 50")));

2, movies.Find(new Document().Add("num", new Document().Add("$gt",50)));
($gt : > ; $gte : >= ; $lt : < ; $lte : <= ; $ne : !=)

3,movies.Find("this.num > 50");

4,movies.Find(new Document().Add("$where",new Code("function(x){ return this.num > 50};")));

select * from movies where num > 50

分頁查詢

movies.Find(new Document()).Skip(10).Limit(20);

SELECT * FROM movies limit 10,20

查詢排序語句

movies.Find(new Document()).Sort(new Document() { { "num", -1 } });

SELECT * FROM movies ORDER BY num DESC

查詢指定字段

movies.Find(new Document().Add("num", new Document().Add("$gt", 50)), 10, 0, new Document() { { "title", 1 } });

select title from movies where num > 50

插入語句

movies.Insert(new Document() { { "title", "測試" }, { "resuleData", DateTime.Now } });

INSERT INOT movies (`title`, `reauleDate`) values (‘foobar‘,25)

刪除語句

movies.Remove(new Document() { { "title", "Hello Esr" } });

DELETE * FROM movies

更新語句

movies.Update(new Document() { { "title", "測試2" } }
, new Document() { { "title", "測試11111" } });

UPDATE movies SET `title` = ‘測試1111’ WHERE `title` = ‘測試1111‘

Linq查詢

(from item in db.GetCollection("movies").Linq()
where ((string)item["title"]).StartsWith("Esr")
select item);

select * from movies where title like ‘%Esr’

mongodb啟動與運用