嗨,我知道有一些问题,但我没有找到解决方案。 我的脚本在没有for循环的情况下工作正常,但是当它出现时我有一个SyntaxError:Missing;在陈述之前......
这是我的剧本:
for (var i = 100; i < 301; ++i) {
use F000 + i;
var collections = db.getCollectionNames();
collections.forEach(function(coll) {
var c = db.getCollection(coll);
c.remove({ date : { $lt : ISODate("2017-07-01T00:00:00.000Z") }});
});
}
感谢帮助我找到解决方案。
编辑:提出错误的行是: SyntaxError:missing;在陈述@(shell)之前:1:32
答案 0 :(得分:3)
您需要使用这段代码切换数据库(在您的示例中为use F000 + i;
):
conn = new Mongo()
db = conn.getDB("dbname")
如果您已经连接,可以使用
db = db.getSiblingDB('dbname')
use
只是一个shell助手,并不适用于脚本。
这里还有一些额外的阅读 - https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#differences-between-interactive-and-scripted-mongo