MongoDB:遗失;在声明之前用于指令

时间:2018-01-31 17:38:03

标签: javascript mongodb

嗨,我知道有一些问题,但我没有找到解决方案。 我的脚本在没有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

1 个答案:

答案 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