1

我在 .txt 文件中有数据库名称列表,如下所示

本地
测试
管理员

我如何动态传递参数而不是在 .js 脚本中为 mono go 硬编码。

db = db.getSiblingDB('test');  

date = new Date()  


date.setDate(date.getDate() - 1)  

yesterday = Math.floor(date.getTime()/1000).toString(16)       

db.coll.find({_id : {$gt : new ObjectId(yesterday + "0000000000000000")}} , {_id:1})
4

1 回答 1

1

您可以像这样将变量传递给 MongoDB shell:

mongo --eval 'dbname="test"' foo.js

然后您可以在脚本中使用它:

derick@whisky:/tmp $ cat foo.js 

db = db.getSiblingDB(database);  

date = new Date()  
date.setDate(date.getDate() - 1)  

yesterday = Math.floor(date.getTime()/1000).toString(16)       

print( db.so.findOne({_id : {$gt : new ObjectId(yesterday + "0000000000000000")}} , {_id:1})._id )
于 2013-08-08T09:54:15.157 回答