1
有沒有在MongoDB查詢中使用shell變量的方法?在MongoDB查詢中使用shell變量
我有這樣的例子:
#!/usr/bin/env bash
mongo --eval "use cdt_db; db.users.update({username:'${USER}'}, {'\$set':{roles:['Admin']}});"
我想單引號和雙引號,我得到這個錯誤:
MongoDB shell version v3.4.9
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.9
2017-10-09T13:53:51.747-0700 E QUERY [thread1] SyntaxError: missing ; before statement @(shell eval):1:4
不應該'$ set'是不帶引號?最安全的方法是將表達式寫在單引號下,並將它與變量值連接:'mongo cdt_db --eval'db.users.update({username:''「$ USER」'「},{$ set:{作用:[ 「系統管理員」]}});''。 – randomir
是的,這似乎工作,如果你可以添加一個答案詳細解釋,我會給予upvote至少 –
很高興聽到它。我會寫出來。 – randomir