我需要知道如何编写一个Javascript * .js脚本,该脚本可以通过mongo在linux命令行上运行,如果该DB /集合碰巧被丢弃,它将在给定的DB /集合中重新创建索引。我们遇到一个问题,每当我们重新创建或恢复Mongo数据库时,新数据库的集合都没有先前配置的索引,我们需要一个脚本来重新创建它们。我已经为每个所需的索引手动输入了这些命令之一,但是我需要一种方法来通过一个脚本来完成它,只要我们需要重新创建索引就可以在命令行上运行。
>> use MyDB
>> db.MyCollection1.ensureIndex({
"Thing1" : 1,
"Thing2" : -1
})
>> db.MyCollection2.ensureIndex({
"Thing3" : 1,
"Thing4" : -1
})
如何将其转换为可以一次运行的.js脚本?
答案 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
});