javascript - 如何从命令行更新 mongodb 字符串字段?

标签 javascript mongodb mongodb-query mongodb-shell

我正在尝试从命令行(不是从 mongo shell)更新字段

mongo mydb --eval "db.users.update({}, { $set : {  email : "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="0a6f676b63664a6f676b636624696567" rel="noreferrer noopener nofollow">[email protected]</a>" } })"

结果

Fri Oct 24 12:23:46.102 JavaScript execution failed: SyntaxError: Unexpected token :

再次尝试

mongo mydb --eval "db.users.update({}, { $set : {  email : \"<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="187d75797174587d75797174367b7775" rel="noreferrer noopener nofollow">[email protected]</a>\" } })"

结果相同

Fri Oct 24 12:24:05.559 JavaScript execution failed: SyntaxError: Unexpected token :

有同样的帮助吗?

最佳答案

这基本上只是引用。 shell 在内部通常更宽容,但确实期望有效的 JSON,否则:

mongo mydb --eval "db.users.update({}, { '$set': {  'email' : '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="abcec6cac2c7ebcec6cac2c785c8c4c6" rel="noreferrer noopener nofollow">[email protected]</a>' } })"
MongoDB shell version: 2.6.5
connecting to: mydb
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

实际上,为了更好地与其他修饰符(例如 multi)配合使用,请反转所使用的引号类型:

mongo mydb --eval 'db.users.update({}, { "$set": {  "email": "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="7d18101c14113d18101c1411531e1210" rel="noreferrer noopener nofollow">[email protected]</a>" } },{ "multi": true })

关于javascript - 如何从命令行更新 mongodb 字符串字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26542946/

相关文章:

java - 如何使用 MongoDB API Java 在数组中查找文档?

MongoDB 'unable to find index for $geoNear query'

javascript - 如何从中心在图像上方画一条垂直线?

javascript - 链接上的单击事件,但只有一个

javascript - 具有粘性标题和水平滚动的多个表

mongodb - Grails-Mongo检查包含在域的列表条件查询中

ruby-on-rails - 查找后的 Mongoid 文档持久性

mongodb - Modulus 上的 Meteor 应用程序——如何重置数据库

java - MongoDB 在 Java 中映射引用关系

javascript - 使用 javascript 从 cookie 中获取 session ID