MongoDB从shell运行更新

时间:2013-11-18 14:10:58

标签: mongodb shell

mongo 10.78.13.144/staging --eval="db.companies.update({'internal':'internal.domain.com'},{$set:{'internal':'staging.internal.domain.com'}});"
MongoDB shell version: 2.4.8
connecting to: 10.78.13.144/portal_staging
Mon Nov 18 08:59:59.116 SyntaxError: Unexpected token :

这个命令可以直接在mongo shell中执行,但不能从外部执行。我们尝试了各种方法来执行此命令,但都抛出相同的错误:

SyntaxError: Unexpected token :

1 个答案:

答案 0 :(得分:1)

$set被解释为shell变量。你需要逃脱它:

--eval="db.companies.update({'internal':'internal.domain.com'},{\$set:{'internal':'staging.internal.domain.com'}});"