1. 程式人生 > >java程式碼(四):構建Document

java程式碼(四):構建Document

這裡的示例程式碼都是簡要程式碼,詳細程式碼可以參考我打包好的程式碼,地址:百度雲 mongo-demo.rar

構建Document

Document document = new Document();
document..append("name", "MongoDB");

DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH);
Document doc = new Document("name", "mongodb")
        .append("num", 29
) .append("address", new Document() .append("coord", Arrays.asList(-73.9557413, 40.7720266))) .append("grades", Arrays.asList( new Document() .append("date", format.parse("2014-10-01 00:00:00")) .append
("grade", "A") .append("score", 11), new Document() .append("date", format.parse("2014-01-16 00:00:00")) .append("grade", "B") .append("score", 17))) .append("groups"
, Arrays.asList("news", "sport", "work")) .append("ages", Arrays.asList(21, 22, 23));

上面構建的 Document 的結構如下:

{
    name : "mongodb",
    num : 29,
    address : {
        coord : [ -73.9557413, 40.7720266 ],
        grades : [
            { 
                date : 2014-10-01 00:00:00,
                grade : "A",
                score : 11
            }, {
                date : 2014-01-16 00:00:00,
                grade : "B",
                score : 17
            }
        ]
    },
    groups : [ "news", "sport", "work" ],
    ages : [ 21, 22, 23 ]
}

(注:data 實際是 data : { "$date" : 1389801600000 },這裡為了方便展示。可以通過 document.toJson() 方法列印輸出)

注意了這裡的 Arrays(陣列)都必須使用 List,而不能使用 String [] 或 int [] 建立的陣列。不然會報錯;另外對於時間格式,之前也講過 MongoDB 使用 UTC 時間,所以可以考慮使用 yyyy-MM-dd'T'HH:mm:ss'Z' 這種規範的時間戳。

DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.ENGLISH);

相關推薦

java程式碼構建Document

這裡的示例程式碼都是簡要程式碼,詳細程式碼可以參考我打包好的程式碼,地址:百度雲 mongo-demo.rar 構建Document Document document = new Do

Java-MavenEclipse集成Maven環境配置

查找 epo 情況 jpg ont 使用 eclipse版 需要 style 一般maven都需要集成到IDE上使用的,而不是單獨的使用,常見的maven可集成IDE:eclipse、IntelliJ IDEA。但這裏就只學習eclipse集成maven的基礎上,進行mav

Java併發volatile的實現原理 Java併發Java記憶體模型乾貨總結

synchronized是一個重量級的鎖,volatile通常被比喻成輕量級的synchronized volatile是一個變數修飾符,只能用來修飾變數。 volatile寫:當寫一個volatile變數時,JMM會把該執行緒對應的本地記憶體中的共享變數重新整理到主記憶體。 volatile讀:當讀一

Java併發happens-before

happens-before 一個操作執行的結果需要對另一個操作可見,那麼這兩個操作之間必須存在happens-before關係 happen-before原則是JMM中非常重要的原則,它是判斷資料是否存在競爭、執行緒是否安全的主要依據,保證了多執行緒環境下的可見性。 happens-before原則定

Java併發volatile的實現原理

synchronized是一個重量級的鎖,volatile通常被比喻成輕量級的synchronized volatile是一個變數修飾符,只能用來修飾變數。 volatile寫:當寫一個volatile變數時,JMM會把該執行緒對應的本地記憶體中的共享變數重新整理到主記憶體。 volatile讀:當讀一個vo

Java容器HashMapJava 7的實現原理

一、HashMap的定義和建構函式 public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, S

java基礎字串

1.String概念:字串一旦被建立就不可以更改 (1)A.==B:判斷地址;     A.equals(B):判斷A,B的內容 (2).常用方法:         長度:str.length();  

Java入門運算子優先順序、關鍵字與保留字

上次介紹了Java的運算子,今天來介紹下運算子的優先順序,以及Java的關鍵字、保留字。 一、運算子優先順序 序號 運算子 名稱 目數 結合性 說明 1 [ ]

大資料之JAVA基礎集合ArrayList

1.集合的建立1).ArrayList集合看作一個長度可變的陣列2).ArrayList<要儲存元素的資料型別> 變數名 = new ArrayList<要儲存元素的資料型別>();3).集合中儲存的元素,只能為<>括號中指定的資料型別元素

Java集合TreeMap原始碼解析

前言今天來介紹下TreeMap,TreeMap是基於紅黑樹結構實現的一種Map,要分析TreeMap的實現首先就要對紅黑樹有所瞭解。構造圖如下:藍色線條:繼承綠色線條:介面實現正文TreeMap底層是基於紅黑樹(Red-Black tree)實現,所以在學習TreeMap之前

Java核心Java中的裝箱和拆箱

https 語言 log .cn 實現 技術 沒有 object 面向 一、為什麽需要裝箱和拆箱?   基礎數據類型是數據,不是對象,也不是Object的子類。Java為每種基本數據類型都提供了對應的包裝器類型。裝箱就是自動將基本數據類型轉換為包裝器類型;拆箱就是自動將包

和朱曄一起復習Java併發Atomic

本節我們來研究下併發包中的Atomic型別。 AtomicXXX和XXXAdder以及XXXAccumulator效能測試 先來一把效能測試,對比一下AtomicLong(1.5出來的)、LongAdder(1.8出來的)和LongAccumulator(1.8出來的)用於簡單累加的效能。 程式邏輯比較簡單,

java學習筆記import語法

employee sign cnblogs java 調用 變量賦值 temp 職位 求職 Import 語法是給編譯器尋找特定類的適當位置的一種方法。 創建一個Employee 類,包括四個實體變量姓名(name),年齡(age),職位(designation)和薪水(s

Java開發小技巧配置文件敏感信息處理

加載 gem 加密解密 -i false valid ges enc factory 前言 不知道在上一篇文章中你有沒有發現,jdbc.properties中的數據庫密碼配置是這樣寫的: jdbc.password=5EF28C5A9A0CE86C2D231A526ED5

構建NetCore應用框架之實戰篇BitAdminCore框架1.0登錄功能細化及技術選型

1.0 dmi 也會 繼承 blank bit 技術選型 cor 我會 本篇承接上篇內容,如果你不小心點擊進來,建議從第一篇開始完整閱讀,文章內容繼承性連貫性。 構建NetCore應用框架之實戰篇系列 一、BitAdminCore框架1.0版本 1、1.0版本是指

Java並發volatile的實現原理

ont style tile 讀寫 flush microsoft div 圖片 println synchronized是一個重量級的鎖,volatile通常被比喻成輕量級的synchronized volatile是一個變量修飾符,只能用來修飾變量。 volatile寫

Java設計模式簡介行為型模式

其實每個設計模式都是很重要的一種思想,看上去很熟,其實是因為我們在學到的東西中都有涉及,儘管有時我們並不知道,其實在Java本身的設計之中處處都有體現,像AWT、JDBC、集合類、IO管道或者是Web框架,裡面設計模式無處不在。因為我們篇幅有限,很難講每一個設計模式都講的很詳細。 本章講講

Java架構-整合spring cloud雲服務架構 - 企業分散式微服務雲架構構建

今天正式給大家介紹了Spring Cloud - 企業分散式微服務雲架構構建,我這邊結合了當前大部分企業的通用需求,包括技術的選型比較嚴格、苛刻,不僅要用業界最流行的技術,還要和國際接軌,在未來的5~10年內不能out。作為公司的架構師,也要有一種放眼世界的眼光,不僅要給公司做好的技術選

Java 到 ScalaTraits

本文由 Rhyme 發表在 ScalaCool 團隊部落格。 Traits特質,一個我們既熟悉又陌生的特性。熟悉是因為你會發現它和你平時在Java中使用的interface介面有著很大的相似之處,而陌生又是因為Traits的新玩法會讓你打破對原有介面的認知,進入一個更具有挑戰性,玩法更高階的領域。

關於JAVA你必須知道的那些事單例模式和多型

好吧,今天一定要把面向物件的最後一個特性:多型,給說完。不過我們先來聊一聊設計模式,因為它很重要。 設計模式 官方的解釋是,設計模式是:一套被反覆使用,多數人知曉的,經過分類編目,程式碼設計經驗的總結。說人話就是:軟體開發人員在軟體開發過程中面臨的一般問題的解決方案。 常見的設計模式可以