mysql -u root my_database < script_1.sql
mysql -u root my_database < script_2.sql
script_1.sql看起来像这样:
DROP DATABASE IF EXISTS my_database;
CRATE DATABASE my_database;
并且script_2.sql是这样的:
INSERT INTO ...
好的,我想和mongo一样,但是我想运行mongo db命令而不是运行SQL命令。
这样的事情可能吗?
答案 0 :(得分:3)
首先,在mongo中,即时创建对象(当您将第一个对象插入数据库的第一个集合中时),因此您可能不需要创建数据库和集合。
然后,您可以使用2种不同的工具用对象填充数据库:mongoimport和mongo
mongo -d myDatabase --eval "db.aCollection.insert({_id : ..,....,....})"
或
mongo -d myDatabase --eval bob.js
可以执行您想要的任何JavaScript。这是通过锁定db来完成的,因此不要在用于请求的实例上使用它。
第二种方法是在其他响应中使用mongoimport
。如果您有一个对象列表而没有其他类型的命令,这将更容易。请注意,对象是插入的(未插入),因此重复项不应失败。
答案 1 :(得分:1)
我猜import工具和批处理文件非常适合您的需求。
例如,如果您导入的文件如下所示:
{“_ id”:{“$ oid”:“4e5bb37258200ed9aabc5d65”},“name”:“Bob”, “年龄”:28,“地址”:“123假街”}
运行
mongoimport -d test -c foo importfile.json
要删除数据库,您可以停止mongodb(也可以通过批处理文件),删除数据库文件,然后重新启动数据库。