如何通过shell脚本操作MongoDB

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过shell脚本操作MongoDB相关的知识,希望对你有一定的参考价值。

用过echo加管道符将命令传入mongo的命令行
echo "db.serverStatus().mem" | mongo admin -u$user -p$pw
如果是多条命令
mongo admin -u$user -p$pw <<EOF
命令
命令
EOF
$user 用户
$pw 密码
如果没有设置用户认证,那么后面的-u,-p都不用加。
参考技术A 您好. #!/bin/sh mongo WordPress --eval "show collections;db.posts.find().limit(10);" show collections db.posts.find().limit(10) 通过shell脚本对MongoDB进行自动化操作

(shell脚本)特殊分隔符文本文件导入MongoDB

参考技术A

本篇文章简单介绍如何将文本数据使用shell脚本导入MongoDB。
过程如下:

$str//\'!^\'/\',\' 字符替换,将 !^ 替换为 , ;
< 表示从一个文件读内容;
> 表示将内容写进一个文件,如果该文件不存在,会自动新建该文件,因此该操作会覆盖文件之前内容;
>> 同 > ,追加模式,但是该操作不会覆盖之前文件内容。

该脚本使用awk将数据转为json格式,尝试使用 -F \'!^\' 做为分割符时,数据处理出现丢失,错误的现象,使用 -F \',\' 时,数据无误。
本次处理的文本数据分割符为特殊分割符 !^ ,因此将分隔符替换为 , 。
-vq=\' " \' 设置一个变量 q = " 。
function··· 为数据处理过程,格式化为json。

EOF 之间可以执行mongo的任意操作命令。
此处删除了集合名为 $txt_name 的集合(无论该集合是否存在,该操作不会影响脚本执行)。

mongoimport 将文件数据导入MongoDB,文件可以为 json csv 格式,此处使用的是json文件。

rm -rf file 强制删除文件 file
rm shell 删除文件(夹)的命令
-rf 该参数表示不询问,强制删除,重要文件删除,不推荐使用该参数。

以上是关于如何通过shell脚本操作MongoDB的主要内容,如果未能解决你的问题,请参考以下文章

如何列出 MongoDB shell 中的所有集合?

如何列出 MongoDB shell 中的所有集合?

javascript forEach() 函数如何在 mongodb shell 中迭代文档?

如何通过shell脚本操作MongoDB

如何通过shell脚本操作MongoDB

shell脚本基础知识详解