1. 程式人生 > >MongoDB 實戰筆記 三

MongoDB 實戰筆記 三


匯出
mongoexport -d my_mongodb -c user -o user.dat
匯出CSV格式
mongoexport -d my_mongodb -c user  --csv -f uid,username,age -o 
user_csv.dat

     -csv  指要要匯出為 csv 格式
     -f    指明需要匯出哪些例

匯入
mongoimport -d my_mongodb -c user user.dat
匯入CSV格式
mongoimport -d my_mongodb -c user  --type csv --headerline --file 
user_csv.dat

CSV 格式良好,主流資料庫都支援匯出為 CSV 的格式,所以這種格式非常利於異構資料遷移

mongodump 來做 MongoDB 的庫或表級別的備份,下面舉例說明: 
備份 my_mongodb 資料庫
[[email protected] bin]# ./mongodump -d my_mongodb
自動出現備份目錄 dump

mongodump -d my_mongodb -o my_mongodb_dump
也可以指定備份目錄


恢復資料庫
mongorestore -d my_mongodb my_mongodb_dump/*


刪除資料庫 
use test
db.dropDatabase()

服務端限制只有 192.168.1.103 這個 IP 可以訪問 MongoDB 服務
[[email protected] bin]# ./mongod --bind_ip 192.168.1.103


客戶端訪問時需要明確指定服務端的 IP,否則會報錯: 
[[email protected] bin]# ./mongo 192.168.1.102 
MongoDB shell version: 1.8.1 
connecting to: 192.168.1.103/test

將服務端監聽埠修改為 28018 
[[email protected] bin]# ./mongod --bind_ip 192.168.1.103 --port 28018


端戶訪問時不指定埠,會連線到預設埠 27017,對於本例會報錯
[[email protected] bin]# ./mongo 192.168.1.102

所以當服務端指定了埠後,客戶端必須要明確指定端口才可以正常訪問
[[email protected] bin]# ./mongo 192.168.1.102:28018


先啟用系統的登入驗證模組,  只需在啟動時指定 auth  引數即可,如:  
[[email protected] bin]# ./mongod --auth

在 admin 庫中新添一個使用者 root: 
[[email protected] bin]# ./mongo 
MongoDB shell version: 1.8.1 
connecting to: test 
db.addUser("root","111")

        "user" : "root", 
        "readOnly" : false, 
        "pwd" : "e54950178e2fa777b1d174e9b106b6ab" 

db.auth("root","111")

本地客戶端連線,指定使用者,結果如下: 
[[email protected] bin]# ./mongo -u root -p

將將將 MongoDB Windows 
先建立 C:\mongo\logs\mongodb.log 檔案,用於儲存 MongoDB 的日誌檔案,  再安裝系統
服務。
C:\mongo\bin>C:\mongo\bin\mongod --dbpath=c:\ db --logpath=c:\mongo\lo 
gs\mongodb.log --install


t1_count.js 就是我們要執行的檔案,裡面的內容如下
[[email protected] bin]# cat t1_count.js  
var totalcount = db.t1.count();  
printjson('Total count of t1 is :  ' + totalcount);  
printjson('-----------------------');


./mongo t1_count.js 
MongoDB shell version: 1.8.1 
connecting to: test 
"Total count of t1 is :  7"

/mongo --quiet  t1_count.js  
"Total count of t1 is :  7" 
"-----------------------" 
[[email protected] bin]# 
通過指定 quiet 引數,即可以將一些登入資訊遮蔽掉,這樣可以讓結果更清晰


檢視活動程序,便於瞭解系統正在做什麼,以便做下一步判斷
db.currentOp();
> //  等同於: db.$cmd.sys.inprog.findOne() 
{ inprog: [ { "opid" : 18 , "op" : "query" , "ns" : "mydb.votes" , 
              "query" : "{ score : 1.0 }" , "inLock" : 1 } 
          ] 


Opid:  操作程序號
Op:  操作型別(查詢,更新等) 
Ns:  名稱空間,  指操作的是哪個物件
Query:  如果操作型別是查詢的話,這裡將顯示具體的查詢內容
lockType:  鎖的型別,指明是讀鎖還是寫鎖


DBA 都會毫不留情的殺掉這個罪魁禍首的
程序,下面將是這操作
db.killOp(1234/*opid*/)
> //  等同於: db.$cmd.sys.killop.findOne({op:1234})


在欄位 age 上建立索引,1(升序);-1(降序) 
db.t3.ensureIndex({age:1}) 
> db.t3.getIndexes();

當系統已有大量資料時,建立索引就是個非常耗時的活,我們可以在後臺執行,只需指定
“backgroud:true”即可。
db.t3.ensureIndex({age:1} , {backgroud:true})

索引可以任何型別的欄位,甚至文件
db.factories.insert( { name: "wwl", addr: { city: "Beijing", state: "BJ" } } ); 
//在 addr 列上建立索引
db.factories.ensureIndex( { addr : 1 } );

//下面這個查詢將會用到我們剛剛建立的索引
db.factories.find( { addr: { city: "Beijing", state: "BJ" } } ); 
//但是下面這個查詢將不會用到索引,因為查詢的順序跟索引建立的順序不一樣
db.factories.find( { addr: { state: "BJ" , city: "Beijing"} } );


MongoDB 也是有組合索引的,下面我們將在 addr.city 和 addr.state
上建立組合索引。當建立組合索引時,欄位後面的 1 表示升序,-1 表示降序,是用 1 還是
用-1 主要是跟排序的時候或指定範圍內查詢 的時候有關的。
db.factories.ensureIndex( { "addr.city" : 1, "addr.state" : 1 } ); 
//  下面的查詢都用到了這個索引
db.factories.find( { "addr.city" : "Beijing", "addr.state" : "BJ" } ); 
db.factories.find( { "addr.city" : "Beijing" } ); 
db.factories.find().sort( { "addr.city" : 1, "addr.state" : 1 } ); 
db.factories.find().sort( { "addr.city" : 1 } )


//刪除 t3 表中的所有索引
db.t3.dropIndexes() 
//刪除 t4 表中的 firstname 索引
db.t4.dropIndex({firstname: 1})

執行計劃  利用 explain  命令,
我們可以很好地觀察系統如何使用索引來加快檢索,同時可以針對性優化索引。
> db.t5.ensureIndex({name:1}) 
> db.t5.ensureIndex({age:1}) 
db.t5.find({age:{$gt:45}}, {name:1}).explain()        

        "cursor" : "BtreeCursor age_1", 
        "nscanned" : 0, 
        "nscannedObjects" : 0, 
        "n" : 0, 
        "millis" : 0, 
        "nYields" : 0, 
        "nChunkSkips" : 0, 
        "isMultiKey" : false, 
        "indexOnly" : false, 
        "indexBounds" : { 
                "age" : [ 
                        [ 
                                45, 
                                1.7976931348623157e+308 
                        ]



cursor:  返回遊標型別(BasicCursor  或 BtreeCursor) 
nscanned:  被掃描的文件數量
n:  返回的文件數量
millis:  耗時(毫秒) 
indexBounds:  所使用的索引

啟動 MongoDB 時加上–profile=級別 即可。
也可以在客戶端呼叫 db.setProfilingLevel(級別)  命令來實時配置,Profiler  資訊儲存在
system.profile 中。我們可以通過 db.getProfilingLevel()命令來獲取當前的 Profile 級別,類似如
下操作
db.setProfilingLevel(2); 
{ "was" : 0, "slowms" : 100, "ok" : 1 } 
上面 profile 的級別可以取 0,1,2  三個值,他們表示的意義如下:
0 –  不開啟
1 –  記錄慢命令 (預設為>100ms) 
2 –  記錄所有命令


列出執行時間長於某一限度(5ms)的 Profile  記錄:
db.system.profile.find( { millis : { $gt : 5 } } )


db.system.profile.find().sort({$natural:-1}).limit(1)
{ "ts" : ISODate("2012-05-20T16:50:36.321Z"), "info" : "query test.system.profile reslen:1219 
nscanned:8  \nquery: { query: {}, orderby: { $natural: -1.0 } }  nreturned:8 bytes:1203", "millis" : 
0 } 


ts: 該命令在何時執行
info:  本命令的詳細資訊
reslen:  返回結果集的大小
nscanned:  本次查詢掃描的記錄數
nreturned:  本次查詢實際返回的結果集
millis:  該命令執行耗時,以毫秒記

capped Collections 比普通 Collections 的讀寫效率高。Capped Collections 是高效率的 Collection
型別,它有如下特點:
1、固定大小;Capped Collections 必須事先建立,並設定大小:
db.createCollection("mycoll", {capped:true, size:100000}) 
2、Capped Collections 可以 insert 和 update 操作;不能 delete 操作。只能用 drop()方法
刪除整個 Collection。
3、預設基於 Insert 的次序排序的。如果查詢時沒有排序,則總是按照 insert 的順序返回。
4、FIFO。如果超過了 Collection 的限定大小,則用 FIFO 演算法,新記錄將替代最先 insert 的
記錄。


此工具可以快速的檢視某組執行中的 MongoDB 例項的統計資訊
/mongostat  
insert  query update delete ...... locked % idx miss % qr|qw   ar|aw  conn     time  
    *0     *0     *0     *0 ......        0          0   0|0     1|0     4 01:19:15 
    *0     *0     *0     *0 ......        0          0   0|0     1|0     4 01:19:16 
    *0     *0     *0     *0 ......        0          0   0|0     1|0     4 01:19:17 

insert:  每秒插入量
query:  每秒查詢量
update:  每秒更新量
delete:  每秒刪除量
locked:  鎖定量
qr | qw:  客戶端查詢排隊長度(讀|寫) 
ar | aw:  活躍客戶端量(讀|寫) 
conn:  連線數
time:  當前時間
它每秒鐘重新整理一次狀態值,提供良好的可讀性,通過這些引數可以觀察到一個整體的效能情


mongodb狀態查詢之db.serverStatus()詳解(2012-06-20 16:28:09)
轉載▼ 分類: DBA之路  
--轉載(收藏)

Field Example Value Explanation 
Host te.rzw.com:27018 執行例項所監聽的IP與埠 
version 1.8.3 當前例項所使用的版本 
Process mongod 當前例項是mongod,還是mongos 
Uptime 231905 例項連續正常執行時間,單位秒 
uptimeEstimate 223083 基於mongodb內部粗粒定時器的連續正常執行時間 
localTime ISODate(“2011-10-13T01:47:38.773Z”) 本機時間,以UTC時間為計算標準。 
globalLock.totalTime 231905155987 自例項啟動全域性鎖建立以來到現在多長時間,單位微秒. 
globalLock.lockTime 9053050 自全域性鎖建立以來鎖定總時間,單位微秒 
globalLock.ratio 0.0000390377262 鎖定的時間所佔的比例(lockTime/ totalTime) 
globalLock.currentQueue.total 0 當前等待全域性鎖的數量 
globalLock.currentQueue.readers 0 當前等待讀鎖的數量 
globalLock.currentQueue.writers 0 當前等待寫鎖的數量 
globalLock.activeClients.total 1 連線到當前例項處於活動狀態的客戶端數量。 
globalLock.activeClients.readers 1 處於活動狀態的客戶端中有多少是在執行read操作 
globalLock.activeClients.writers 0 處於活動狀態的客戶端中有多少是在執行write操作 
Mem.resident 6 到現在總共使用的實體記憶體,單位是MB 
Mem.virtual 17307 當前Mongodb例項使用的虛擬記憶體大小,單位MB,一般情況下比mem.map的值要超大一點,如果大很多很有可能發生

記憶體洩露,如果使用journal,大約是2倍的map值 
Mem.maped 8556 Mongodb使所有資料都對映到記憶體中,所以這個值可以看似整個資料量的值。 
Mem.bits 64 機器位數,32位或64位 
Mem.supported true 本機是否支援記憶體擴充套件 
Connections.current 2 當前連線到本機處於活動狀態的連線數 
Connections. available 19998 剩餘多少可供連線 
extra_info. heap_usage_bytes             521152 當前例項堆大小,單位bytes 
extra_info. page_faults 569 載入磁碟內容時發生頁錯誤的次數 
indexCounters. Btree.accesses 1 訪問索引次數 
indexCounters. Btree.hits 1 訪問索引時,索引在記憶體中被命中的次數 
indexCounters. Btree.misses 0 訪問索引時,索引不是在記憶體中被命中的次數 
indexCounters. Btree.resets 0 索引計數器被重置的次數 
indexCounters. Btree.missRatio 0 索引非命中率 
backgroundFlushing.flushes 3864 例項重新整理資料到磁碟的數次 
backgroundFlushing.total_ms 15473 重新整理到磁碟總共花費的時間,單位毫秒 
backgroundFlushing.average_ms 4.004399585921325 平均每次重新整理執行時間 
backgroundFlushing.last_ms 3 最後一次重新整理執行時間 
backgroundFlushing.last_finished ISODate(“2011-10-13T01:46:51.184Z”) 最後一次重新整理完成的時間點 
Cursors.totalOpen 1 當前遊標數量 
Cursors.timeOut 2 從例項啟動到現在遊標超時的總數量 
Network.bytesIn 4680778 傳送到例項的位元組大小 
Network.bytesOut 4759827 傳送出去的位元組大小 
Repl.setName myset replSet結構定義的名稱 
Repl.isMaster True 當前例項是否是replSet結構中的Master節點 
Repl.secondary False 當前例項是否是replSet結構中的secondary節點 
Repl.hosts [ “te.rzw.com:27018”,”te.rzw.com:27019”] replSet結構中每個節點情況 
Opcounters.insert 4 自例項啟動以來,執行insert次數 
Opcounters.query 181 自例項啟動以來,執行query次數 
Opcounters.update 92084 自例項啟動以來,執行update次數 
Opcounters.delete 0 自例項啟動以來,執行delete次數 
Opcounters.getmore 92816 自例項啟動以來,在遊標執行getMore次數 
Opcounters.command 316 自例項啟動以來,執行其他操作的次數 
Asserts.regular 0 自例項啟動以來,斷言正常的次數 
Asserts.warn 0 自例項啟動以來,斷言警告的次數 
Asserts.msg 0 自例項啟動以來,斷言內部錯誤的次數 
Asserts.user 134 自例項啟動以來,因使用者使用造成的錯誤而被斷言次數 
Asserts.rollovers 0 斷言被翻轉的次數 
writeBacksQueued False 在mongos中,操作被重做的次數 
Dur.commits         1 在最近間隔,向journal檔案提交的次數 
Dur.journaledMB 0.008192 在最近間隔,journalr檔案寫入資料量,單位MB 
Dur. writeToDataFilesMB 0 在最近間隔,從journal檔案向資料檔案寫入的資料量,單位MB 
Dur. commitsInWriteLock 0 在最近間隔中,處於寫鎖狀態下向journal提交的次數.這種提交方式是不被推薦的 
Dur.earlyCommits 0 在預定時間之前請求提交的次數 
Dur.timeMs.dt 3045 Journal狀態收集的頻率,單位毫秒 
Dur.timeMs. prepLogBuffer 0 向journal寫資料前的準備所花費時間, 單位毫秒 
Dur.timeMs. writeToJournal 2 向journal寫資料所花費時間,單位毫秒 
Dur.timeMs. writeToDataFiles 0 在寫入journal檔案後向資料檔案寫資料花費時間,單位毫秒 
Dur.timeMs. remapPrivateView 0 重新在記憶體中對映資料花費的時間 
Ok 1 serverStatus操作是否被成功執行

原文地址:http://archive.cnblogs.com/a/2210339/


        "host" : "localhost.localdomain", 
        "version" : "1.8.1",                   --伺服器版本
        "process" : "mongod", 
        "uptime" : 3184,                     --啟動時間(秒) 
        "uptimeEstimate" : 3174,               
        "localTime" : ISODate("2012-05-28T11:20:22.819Z"),
"globalLock" : { 
                "totalTime" : 3183918151, 
                "lockTime" : 10979, 
                "ratio" : 0.000003448267034299149, 
                "currentQueue" : { 
                        "total" : 0,              --當前全部佇列量
                        "readers" : 0,            --讀請求佇列量
                        "writers" : 0             --寫請求佇列量
                }, 
                "activeClients" : { 
                        "total" : 0,                --當前全部客戶端連線量
                        "readers" : 0,            --客戶端讀請求量
                        "writers" : 0             --客戶端寫請求量
                } 
        }, 
        "mem" : { 
                "bits" : 32,             --32 位系統
                "resident" : 20,          --佔用物量記憶體量
                "virtual" : 126,           --虛擬記憶體量
                "supported" : true,       --是否支援擴充套件記憶體
                "mapped" : 32 
        }, 
        "connections" : { 
                "current" : 1,           --當前活動連線量
                "available" : 818        --剩餘空閒連線量
        }, 
…… 
        "indexCounters" : { 
                "btree" : { 
                        "accesses" : 0,             --索引被訪問量
                        "hits" : 0,                 --索引命中量
                        "misses" : 0,               --索引偏差量
                        "resets" : 0, 
                        "missRatio" : 0           --索引偏差率(未命中率) 
                } 
        }, 
…… 
        "network" : { 
                "bytesIn" : 1953,             --發給此伺服器的資料量(單位:byte) 
                "bytesOut" : 25744,           --此伺服器發出的資料量(單位:byte) 
                "numRequests" : 30          --發給此伺服器的請求量
        }, 
        "opcounters" : { 
                "insert" : 0,              --插入操作的
"query" : 1,              --查詢操作的量
                "update" : 0,             --更新操作的量
                "delete" : 0,             --刪除操作的量
                "getmore" : 0,            
                "command" : 31          --其它操作的量
        }, 
…… 
        "ok" : 1 

>
(http://cache.baidu.com/c?

m=9f65cb4a8c8507ed4fece7631046893b4c4380147d8c8c4668d4e419ce3b4c413037bfa6663f405a8e906b6075a91e5aeef43474610123b598c9c

d409cac925f75ce786a6459db0144dc4fffdc4755d620e74de8df58b0fab465d3b9d3a39e12008c1444&p=99759a46d7c41afc57ee952149409826&

user=baidu&fm=sc&query=db%2EserverStatus%28%29%3B&qid=ac4bd6920b330747&p1=2)

db.stats  檢視資料庫狀態資訊。使用樣例如下: 
db.stats()

        "db" : "test", 
        "collections" : 7,                  --collection 數量
        "objects" : 28,                   --物件數量
        "avgObjSize" : 50.57142857142857,  --物件平均大小
        "dataSize" : 1416,                 --資料大小
        "storageSize" : 31744,              --資料大小(含預分配空間) 
        "numExtents" : 7,                 --事件數量
        "indexes" : 7,                     --索引數量
        "indexSize" : 57344,                --索引大小
        "fileSize" : 50331648,               --檔案大小
        "ok" : 1                          --本次取 stats 是否正常


通過這個工具,可以檢視所在資料庫的基本資訊


mongo  admin -u root -p


Mongo m = new Mongo();
            DB db = m.getDB("test");//獲取系統許可權 登陸admin 再切換資料庫
            boolean auth = db.authenticate("root", "8858".toCharArray());
            //db = m.getDB("test");
            
            Set<String> colls = db.getCollectionNames();
            for (String string : colls) {
                System.out.println(string);
            }
            
            
            DBCollection coll = db.getCollection("c4");
            System.out.println(coll.count());
            DBCursor cur = coll.find().limit(1000);
            while(cur.hasNext())
                System.out.println(cur.next());

MongoDB  高可用可用分兩種: 
1. 主從複製  Master-Slave  :::
只需要在某一個服務啟動時加上–master引數,而另一個服務加上–slave與–source引數,
即可實現同步。MongoDB 的最新版本已不再推薦此方案。
2. 複製集 Replica Sets :::
 MongoDB 在 1.6 版本對開發了新功能 replica set,這比之前的 replication 功能要強大一
些,增加了故障自動切換和自動修復成員節點,各個 DB 之間資料完全一致,大大降低了維
護成功。auto shard 已經明確說明不支援 replication paris,建議使用 replica set,replica set
故障切換完全自動。


 設定主從伺服器步驟
1。設定主伺服器( 10.166.112.109 )
mongod --master  --dbpath=d:\db --logpath=d:\db\logs\mongodb.log --auth --install

啟動 net start mongodb

2。設定從伺服器
mongod --slave --source 10.166.112.109  --dbpath=e:\db --logpath=e:\db\logs\mongodb.log --auth --install

啟動 net start mongodb

如果發現主從不同步,從上手動同步
db.runCommand({"resync":1})

狀態查詢
db.runCommand({"isMaster":1})  #主還是從

在叢庫上查詢主庫地址
> use local;
switched to db local
> db.sources.find();
{ "_id" : ObjectId("4e9105515d704346c8796407"), "host" :"10.166.112.109:27001", "source" : "main", "syncedTo" : { "t" :

1318155992000,"i" : 1 } }

#檢視各Collection狀態
db.printCollectionStats();

#檢視主從複製狀態
db.printReplicationInfo();

需認證的主從處理:
mongod  --port 27017 --dbpath /data/mongodb/dbs/master --logpath /data/mongodb/dbs/master/master.log --fork --master -

-auth
mongod  --port 27018 --dbpath /data/mongodb/dbs/slave  --logpath /data/mongodb/dbs/slave/slave.log --fork --slave --

source localhost:27017 --auth

無需認證的主從處理:
mongod --port 27017 --dbpath /data/mongodb/dbs/master --master
mongod --port 27018 --dbpath /data/mongodb/dbs/slave --slave --source localhost:27017

主從裝置同步 例子2
mongod --master --dbpath data/m1 -port 10001 
mongod --slave --source localhost:10001 --dbpath data/s1 -port 10101  
mongod --slave --source localhost:10001 --dbpath data/s2 -port 10102 


客戶端連線:
mongo -port 10001  
mongo -port 10101  
mongo -port 10102 

Mongodb的全面總結
MongoDB語法與現有關係型資料庫SQL語法比較
MongoDB語法                                  MySql語法

db.test.find({'name':'foobar'})<==> select * from test where name='foobar'

db.test.find()                            <==> select *from test

db.test.find({'ID':10}).count()<==> select count(*) from test where ID=10

db.test.find().skip(10).limit(20)<==> select * from test limit 10,20

db.test.find({'ID':{$in:[25,35,45]}})<==> select * from test where ID in (25,35,45)

db.test.find().sort({'ID':-1})  <==> select * from test order by IDdesc

db.test.distinct('name',{'ID':{$lt:20}})  <==> select distinct(name) from testwhere ID<20

db.test.group({key:{'name':true},cond:{'name':'foo'},reduce:function(obj,prev){prev.msum+=obj.marks;},initial:

{msum:0}})  <==> select name,sum(marks) from testgroup by name

db.test.find('this.ID<20',{name:1})  <==> select name from test whereID<20

db.test.insert({'name':'foobar','age':25})<==>insertinto test ('name','age') values('foobar',25)

db.test.remove({})                        <==> delete * from test

db.test.remove({'age':20})            <==> delete test where age=20

db.test.remove({'age':{$lt:20}})   <==> elete test where age<20

db.test.remove({'age':{$lte:20}})  <==> delete test where age<=20

db.test.remove({'age':{$gt:20}})  <==> delete test where age>20

db.test.remove({'age':{$gte:20}})<==> delete test where age>=20

db.test.remove({'age':{$ne:20}})  <==> delete test where age!=20

db.test.update({'name':'foobar'},{$set:{'age':36}})<==> update test set age=36 where name='foobar'

db.test.update({'name':'foobar'},{$inc:{'age':3}})<==> update test set age=age+3 where name='foobar'
(http://blog.csdn.net/jakenson/article/details/7060431)

相關推薦

MongoDB 實戰筆記

匯出mongoexport -d my_mongodb -c user -o user.dat匯出CSV格式mongoexport -d my_mongodb -c user  --csv -f uid,username,age -o user_csv.dat    

【慕課網實戰】Spark Streaming實時流處理項目實戰筆記之銘文升級版

聚集 配置文件 ssi path fig rect 擴展 str 控制臺 銘文一級: Flume概述Flume is a distributed, reliable, and available service for efficiently collecting(收集),

MongoDB學習筆記()——安裝與配置MongoDB(Linux)

前一篇博文講解了如何安裝與配置MongoDB的windows版,本篇博文接著上一篇講解如何在Linux系統中安裝與配置MongoDB,為了演示,我問同事要了它的雲伺服器用於演示,當然我自己也有,但是已經安裝了,就不解除安裝重新裝了[笑臉]。 下載Linux版的

Mongodb學習筆記、使用asp.net在Mongodb中儲存和讀取圖片檔案

今天練習瞭如何使用c# driver儲存和讀取圖片。 廢話不多說,直接上程式碼。 一、儲存圖片(檔案應該也一樣): private void SaveImgBJSON(string id, byte[] byteImg) {

MongoDB 學習筆記 JAVA呼叫MongoDB

驅動 連線 private static void mongo_conn(){ MongoClient mongoClient = new MongoClient(propert

MongoDB 實戰筆記

import java.net.UnknownHostException; import com.mongodb.DB; import com.mongodb.Mongo; import com.mongodb.MongoException; public class D

MongoDB學習筆記() java中如何操作MongoDB

1. mongoDB對Java支援的驅動包 驅動包下載地址:http://repo1.maven.org/maven2/org/mongodb/mongo-java-driver/ mongoDB對Java的相關支援、技術:http://www.mongodb.org/di

Java併發程式設計實戰--筆記

第8章:執行緒池的使用 // 在單執行緒Executor中任務發生死鎖(不要這麼做) public class ThreadDeadlock { ExecutorService exec = Executors.newSingleThreadEx

Spring Boot實戰筆記)-- Spring常用配置(Bean的初始化和銷毀、Profile)

div nbsp troy string 實例化 public ive work 初始 一、Bean的初始化和銷毀   在我們的實際開發的時候,經常會遇到Bean在使用之前或之後做些必要的操作,Spring對Bean的生命周期操作提供了支持。在使用Java配置和註解配置下提

《微服務架構實戰》讀書筆記---SpringBoot

《微服務架構實戰》讀書筆記三—SpringBoot springboot是什麼? springboot是為了簡化spring的開發過程,通過少量程式碼就能建立一個獨立的,產品級spring應用 springboot的核心思想是約定大於配置,基本不需要寫配置檔案,

MongoDB學習筆記)--MongoDB的C#驅動的基本使用

官方C#驅動:https://github.com/mongodb/mongo-csharp-driver/releases 在使用C#驅動時,要在專案中新增”MongoDB.Bson.dll”和”MongoDB.Driver.dll”的引用。同時要在程式碼中

關於springboot網際網路架構平臺實戰與運維架構的筆記()

mysql安裝配置 1.yum安裝mysql yum -y install mysql-server 2.啟動mysql服務 啟動mysql: service mysqld start 檢視mysql的狀態: service mysqld status 3

MongoDB學習筆記~使用原生語句實現層集合關係的更新

回到目錄 MongoDB的文件型資料結構使得它在儲存資料上很像JSON,在可讀性方面很強,然而這種複雜的結構在update時相對麻煩一些,而對於官方給出的文件說的也不夠細緻,有些東西也是模稜兩可的態度,對於多層巢狀的集合物件,實現update更是麻煩,而目前我們所驗證的是,原生語句最多支援三層集合物件,層次

python爬蟲筆記(七):實戰)股票資料定向爬蟲

目標分析及描述#CrawBaiduStocksA.py import requests from bs4 import BeautifulSoup import traceback import re def getHTMLText(url): try:

《從Lucene到Elasticsearch:全文檢索實戰》學習筆記

數據庫 核心 但是 .net 實戰 cse 內容 acl elastics 今天我給大家講講倒排索引。 索引是構成搜索引擎的核心技術之一,它在日常生活中是非常常見的,比如我看一本書的時候,我首先會看書的目錄,通過目錄可以快速定位到具體章節的頁碼,加快對內容的查詢

tensorflow深度學習實戰筆記):使用tensorflow lite把訓練好的模型移植到手機端,編譯成apk檔案

目錄 tensorflow深度學習實戰筆記(二):把訓練好的模型進行固化,講解了如何固化模型以及把pb模型轉換為tflite模型,現在講解如何用官方的demo把生成的ttlite模型移植到手機端。 一、準備工作 1.1模型訓練 1.

MongoDB筆記:C Driver 含日期型別欄位document新增和查詢,指定document返回的field

Author: kagula Date: 2017-09-12 Envrionment: [1] VS2013 Update5  [2]MongoDB C Driver 1.7.0 這裡只給出重要的函式,上一篇筆記中有的,就不重複貼出來了。 日期型別fidld的插入 t

Linux學習筆記():系統執行級與執行級的切換

查看 用戶操作 回車 water hat ntsysv tde 文件表 config 1.Linux系統與其它的操作系統不同,它設有執行級別。該執行級指定操作系統所處的狀態。Linux系統在不論什麽時候都執行於某個執行級上,且在不同的執行級上執行的程序和服務都不同,所要

【Unity 3D】學習筆記十:遊戲元素——遊戲地形

nbsp 3d遊戲 strong 直觀 分辨率 == 摩擦力 fill 世界 遊戲地形 在遊戲的世界中,必然會有非常多豐富多彩的遊戲元素融合當中。它們種類繁多。作用也不大同樣。一般對於遊戲元素可分為兩種:經經常使用。不經經常使用。經常使用的元素是遊戲中比較重要的元素。一

基礎滲透測試筆記

ear burpsuit dede ble 單個 數據庫 root 顯示 log sqlmap -u "http://www.vuln.cn/post.php?id=1" 默認使用level1檢測全部數據庫類型 sqlmap -u "http://www.vuln.cn/p