Kya*_*u L 1 linux shell sh mongodb
我想通过使用一些查询从shell脚本文件中删除mongo数据库的一些文档。
我使用以下命令,但这不起作用。
mongo dbName --eval "db.collection.remove({"param1":"value"})"
Run Code Online (Sandbox Code Playgroud)
如何通过命令行从Shell脚本从mongo数据库中删除文档?
您的命令行在外壳程序字符串中使用双引号,并且在字符串本身中使用字符串定界符。这会导致外壳混乱。您可以在字符串中转义“”:
mongo dbName --eval "db.collection.remove({\"param1\":\"value\"})"
Run Code Online (Sandbox Code Playgroud)
或使用单引号,例如:
mongo dbName --eval 'db.collection.remove({"param1":"value"})"'
Run Code Online (Sandbox Code Playgroud)
我建议您在整个字符串周围使用单引号,而不是在字符串中使用单引号,因为这也意味着包含的字符串$不会被插值或引起其他问题。