在windows下mongodb怎么执行js脚本

在windows下mongodb怎么执行js脚本,第1张

以前并没有留意用JavaScript管理MongoDB,不过这个还是很有用的功能。特别是可以写一些定时脚本,定期检查数据库,做一些管理任务。

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.03125GB

local (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。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6686422.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存