1. mongo shell中可以直接运行JavaScript代码
比如:
>new Date()
ISODate("2013-12-12T07:37:00.074Z")
>x = new Date()
ISODate("2013-12-12T07:37:05.724Z")
>x.getTime()
1386833825724
>var y = Date()
>y.getTime()
Thu Dec 12 15:37:26.805 TypeError: Object Thu Dec 12 2013 15:37:21 GMT+0800 (CST) has no method 'getTime'
>
如果想获得epoch以来的毫秒数,必须用new Date()。
而Date(),似乎就只是一个函数,返回一个字符串而已。没什么大作用,反而容易混淆人的概念。
b. Date对象提供了getTime()
2. 查询语句中,可以用$where operator来执行JavaScript函数, 比如:
db.display.find({$and: [{$where: function() {return new Date().getTime(
3. 可以将代码写到一个js文件中,然后用mongo命令执行
比如:下面将当前时间和last_active_time字段的值的差大于300秒的,状态为offline的document找出来,并显示。
cursor = db.display.find({$and: [{$where: function() {return new Date().getTime() / 1000 - this.last_active_time >300}}, {status: "offline"}]})
while (cursor.hasNext()) {
printjson(cursor.next())
}
然后这样执行:
mongo localhost/mydb test.js
admin 0.03125GBlocal (empty)
可以使用show dbs来列出当前有多少个数据库,上面看到的是有两个,分别是admin和local。
2) 定义新的数据库名
我们通过使用“use new-databasename”的语法去使用一个新的数据库,注意,即使你的数据库还没建立起来,依然可以这样使用,因为mongodb会在真正插入了数据后,才会真正建立起来。
>use mkyongdb
switched to db mkyongdb
>show dbs
admin 0.03125GB
local (empty)
注意,在use mkyongdb后,mkyongdb实际上还没真正建立起来,只是表明目前是在使用mkyongdb了。
3)保存数据
定义一个collection,名为“users”,然后插入数据,如下:
>db.users.save( {username:"mkyong"} )
>db.users.find()
{ "_id" : ObjectId("4dbac7bfea37068bd0987573"), "username" : "mkyong" }
>
这不是mongodb无法启动,是你还没有启动mongodb就来连接使用它了,肯定是不成功的。
先去mongodb的bin目录下运行mongod --dbpath XXXX/data 来启动mongodb,然后再来连接mongodb。
简介:
Mongodb,分布式文档存储数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。Mongo使用C++开发。
应用:
MongoDB服务端可运行在Linux、Windows或mac os x平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)