MongoDB学习日记 - java代码(四):构建Document

来源:互联网 发布:洛川群侠传破解 知乎 编辑:程序博客网 时间:2024/05/16 07:18

这里的示例代码都是简要代码,详细代码可以参考我打包好的代码,地址:百度云 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);
0 0