learn mongodb

Jan 2, 2016  

数据类型

NumberLong

By default, the mongo shell treats all numbers as floating-point values.

NumberLong() wrapper to handle 64-bit integers.

NumberInt() constructor to explicitly specify 32-bit integers.

日期

mongo-日期类型(2)

MongoDB默认以UTC存储时间,即GMT,北京时间为GMT+8:00

使用new Date()和使用Date()是不一样的:

db.test.insert({mark:1, date:new Date()}) db.test.insert({mark:2, date:Date()}) db.test.find()

{ “_id” : ObjectId(“5126e00939899c4cf3805f9b”), “date” : ISODate(“2013-02-22T03:03:37.312Z”) } { “_id” : ObjectId(“5126e00c39899c4cf3805f9c”), “date” : “Fri Feb 22 2013 11:03:40 GMT+0800” }

使用new Date(),插入的是一个ISODate类型;而使用Date()插入的是一个字符串类型。

如果通过get函数来获取,那么mongo会自动转换成当前时区的时间

操作

aggregate

执行本地js mongo localhost:27017/user user.js

通过shell传参数

mongo localhost:27017/user --eval "var start=new Date(1441843200000),end=new Date(1441929600000)" ~/user.js

How to pass argument to Mongo Script

删除db

db.dropDatabase()

需要注意的

mongo update 默认只更新一条,需要显示的{multi:true}

Java Driver

MongoClient instance 代表一个数据库连接池,即使需要多线程,也只需要一个实例

MongoClient client = new MongoClient();
MongoDatabase database = client.getDatabase("mydb");
MongoCollection<Document> collection = database.getCollection("mycoll");