2014-01-10 82 views
1

我想通過一些查詢從shell腳本文件中刪除一些mongo數據庫的文件。如何從shell腳本文件中刪除mongo數據庫的文件

我使用以下命令,但這不起作用。

mongo dbName --eval "db.collection.remove({"param1":"value"})" 

我應該如何從shell腳本中通過命令行從mongo數據庫中刪除文檔?

+0

試試這個db.collection.remove({「param1」:「value」},true) –

+0

我相信它是你使用''',th e bash腳本正在混淆,請嘗試類似'「db.collection.remove({param1:'value'})」' – Sammaye

+0

感謝您的回答。 Sammaye的答案對我來說很有用。 :) –

回答

4

您的命令行既爲shell字符串使用雙引號,也在字符串本身中使用字符串分隔符。這會導致shell的混淆。您可以逃脫你的「在字符串中

mongo dbName --eval "db.collection.remove({\"param1\":\"value\"})" 

或者使用單引號,如:

mongo dbName --eval 'db.collection.remove({"param1":"value"})"' 

我會建議你使用單引號整個字符串周圍,而不是使用單引號字符串,因爲這也意味着包含$的字符串不會被內插或導致其他問題。

+0

感謝您的回答 –

相關問題