日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MongoDB学习手记

發布時間:2025/3/12 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MongoDB学习手记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MongoDB是一種非關系型數據庫。現在很多人在使用,也是非?;鸬囊豢罘顷P系型數據庫。(在網上也有很多關于這個數據庫的負面文章,比如哪里哪里不好,等等,但是那都是人家經過使用之后得來的結論,我可不能這樣想,否則會一葉障目,作為一個程序員一定要做到客觀與邏輯,不可主觀、武斷。還是那句話,沒有調查就沒有發言權。我要做到精通,并已經達到全面了解一項技術的優缺點之后,再去評論一項技術的優劣,否則只能是一個愚蠢的妄言者!這是我在這接觸Java一年的學習中獲得的心得,在此作為一個態度標簽,謹記于心!)

MongoDB給我的感覺就像是一個可以給他裝任何東西的塑料袋,你可以裝任何基本類型,也可以裝很多復雜的類型,比如數組,沒錯,存一個數組是非常常見的。

另外MongoDB的結構有些有趣,collection,document,這我就不多說了,就像是一串json存儲在了數據庫中,事實上文檔(document)的存儲形式也就像是json一樣,由key-value組成,中間用“:”隔開。我看了一下MongoDB的Java驅動中Document類的內部實現,其實就是用一個LinkedHashMap來封裝的

public class Document implements Map<String, Object>, Serializable, Bson {

? ? private final LinkedHashMap<String, Object> documentAsMap;

? ? /**
? ? ?* Creates an empty Document instance.
? ? ?*/
? ? public Document() {
? ? ? ? documentAsMap = new LinkedHashMap<String, Object>();
? ? }

? ? /**
? ? ?* Create a Document instance initialized with the given key/value pair.
? ? ?*
? ? ?* @param key ? key
? ? ?* @param value value
? ? ?*/
? ? public Document(final String key, final Object value) { ? ? ? ? ? ?//-----這里為什么用final修飾參數,我目前還沒弄清楚意義。
? ? ? ? documentAsMap = new LinkedHashMap<String, Object>();
? ? ? ? documentAsMap.put(key, value);
? ? }

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

MongoDB關于Java的相關code,實際就是crud操作,可以參見菜鳥教程中的寫法,傳送門:http://www.runoob.com/mongodb/mongodb-java.html ?當然,我并不是一個愿意打廣告的人,但是我真的覺得菜鳥教程對于一個新人來說真的是一個非常不錯的學習的網站。

以及MongoDB官網 驅動詳解:http://mongodb.github.io/mongo-java-driver/3.0/driver/getting-started/quick-tour/

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

以下則是菜鳥教程中關于MongoDB 的Java Driver的簡單整理和歸納(按菜鳥教程中講解的出現順序):

//環境配置,略
//連接數據庫 :MongoClient ----> MongoDatabase?
//創建集合:MongoDatabase ----> muhtdb.createCollection("collname")
//獲取集合:MongoDatabase ----> muhtdb.getCollection("collname") ----> MongoCollection<Document>
/*
* 插入文檔:①創建文檔?
* ②創建List<Document>?
* ③插入數據庫集合usercoll.insertMany/usercoll.insertOne
* ? ? ? MongoCollection<Document> ----> usercoll.insertMany ??
*/

/*
* 檢索所有文檔:①獲取迭代器FindIterable<Document>?
* MongoCollection<Document> ----> user.find() ---->FindIterable<Document>
* ②獲取游標MongoCursor<Document>
* FindIterable<Document> ----> findIterable.iterator() ----> MongoCursor<Document>
* ③通過游標遍歷檢索出的文檔集合
* MongoCursor<Document>:cursor.hasNext()、cursor.next()
*/
?
/*
* 更新文檔:MongoCollection<Document> ---->
* updateMany(Filters.eq("likes", 100), new Document("$set",new Document("likes",200)))
*/

/*
*刪除第一個文檔:MongoCollection<Document> ----> user.deleteOne(Filters.eq("likes", 200))
*刪除全部符合條件的文檔:MongoCollection<Document> ----> user.deleteMany(Filters.eq("likes", 200))
*/

總結

以上是生活随笔為你收集整理的MongoDB学习手记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。