用于维护指数的MongoDB javascript

时间:2014-12-19 16:21:57

标签: javascript mongodb

我需要知道如何编写一个Javascript * .js脚本,该脚本可以通过mongo在linux命令行上运行,如果该DB /集合碰巧被丢弃,它将在给定的DB /集合中重新创建索引。我们遇到一个问题,每当我们重新创建或恢复Mongo数据库时,新数据库的集合都没有先前配置的索引,我们需要一个脚本来重新创建它们。我已经为每个所需的索引手动输入了这些命令之一,但是我需要一种方法来通过一个脚本来完成它,只要我们需要重新创建索引就可以在命令行上运行。

>> use MyDB
>> db.MyCollection1.ensureIndex({
                        "Thing1" : 1,
                        "Thing2" : -1
                })
>> db.MyCollection2.ensureIndex({
                        "Thing3" : 1,
                        "Thing4" : -1
                })

如何将其转换为可以一次运行的.js脚本?

1 个答案:

答案 0 :(得分:0)

创建.js文件并使用变量mydb获取db.getSisterDB("MyDB")。然后,您将能够使用mydb.MyCollection1.ensureIndex在MyDB中为集合创建索引。通过以下命令在mongo shell中运行.js文件:mongo localhost:27017 filename.js

var mydb = db.getSisterDB("MyDB");
mydb.MyCollection1.ensureIndex({
                        "Thing1" : 1,
                        "Thing2" : -1
                });
mydb.MyCollection2.ensureIndex({
                        "Thing3" : 1,
                        "Thing4" : -1
                });