我不知道這是否甚至可能,我可以看到在mongo eval查詢中使用bash參數可能存在問題。我想要做的是更新mongo中的文件,其中日期大於今天的日期。通過shell腳本通過參數執行mongo查詢,有可能嗎?
例如:今天的日期比明天的日期少(<),從而更新同一文件的字段X.
我有以下,但我想知道如何將日期變量傳遞給mongo查詢。它甚至有可能嗎?有沒有另一種方式來羅馬?
#!/bin/sh
today="$(date +'%Y-%m-%d')"
mongo db --eval 'db.Scheme.update({"FutureDate":{$gte: $today}},{$set:{"X":"$today"}});'
或者我已經試過今天$切換與新的Date()。調用setHours(0,0,0,0),但無法進行查詢。
幫助或建設性的反饋非常感謝,謝謝! :)
shell變量不會在單引號中被擴展。嘗試把變量放在雙引號裏面,比如'command'previous'「$ var」'next「' – user000001
Thanks @ user000001!作爲一個魅力,hm,不知道爲什麼我沒有嘗試過,想法如何我可以$今天是一個真正的日期值?而不是字符串? 贊同javascript, var from = ISODate(「2011-11-24」) 任何想法,我怎麼可以在shell/bash中做同樣的事情? – gudbrand3
我不認爲你可以從bash中做到這一點。你可能不得不從mongo做到,但我不知道如何... – user000001