从终端创建MongoDB数据库(无shell)

4xy9mtcn  于 12个月前  发布在  Shell
关注(0)|答案(2)|浏览(128)

我有一个特定的用例,我正在寻找一种方法来创建一个数据库和集合,只使用终端,而不使用Mongo shell或Mongo Compass GUI。
我们的想法是在使用mongoimport之前从终端创建db和集合,比如:

# Create database `company-example` and collection `employees` from the terminal
# ...
# ...
    
# Import the data to the collection
mongoimport --db=company-example --collection=employees --file=employees.json --jsonArray

字符串
我可以创建一个npm包,并在终端上用Node运行它,但我想知道是否有更简单的方法?

vwoqyblh

vwoqyblh1#

你可以从 * 一个预定义的数据库和集合中“克隆”一个数据库和一个空集合(为了创建一个新的数据库和一个空集合)。这是基于作者clone collection in mongoDB in the same db的另一篇文章。
首先,创建一个名为dummyDB的数据库和一个名为testColl的空集合。这用于创建/克隆一个包含一个空集合的数据库。
这个命令将从终端创建一个克隆:

mongodump --archive --db=dummyDB --collection=testColl | mongorestore --archive --nsFrom="dummyDB.*" --nsTo="examples.*"

字符串
克隆的数据库是examples,没有文档的集合是testColl
如果您要反复创建克隆,则此过程非常有用。

pwuypxnk

pwuypxnk2#

我假设出于某种原因,您希望在导入之前创建DB和集合。
1.创建一个脚本,例如passiones.js,内容为:
第一个月
1.从终端开始命令:
mongo company-example employees.js
请注意mongo命令的第一个参数是数据库名称,第二个是脚本。如果数据库不存在,它将自动创建。

相关问题