【发布时间】:2016-01-02 09:07:36
【问题描述】:
我不知道这是否可能,我可以看到在 mongo eval 查询中使用 bash 参数可能存在问题。我想要做的是更新 mongo 中值 date 大于今天日期的文档。
示例:今天的日期小于(
我有以下内容,但我想知道如何将日期变量传递给 mongo 查询。甚至可能吗?有没有其他方式可以去罗马?
#!/bin/sh
today="$(date +'%Y-%m-%d')"
mongo db --eval 'db.Scheme.update({"FutureDate":{$gte: $today}},{$set:{"X":"$today"}});'
或者,我尝试使用 new Date().setHours(0,0,0,0) 切换 $today,但无法执行查询。
非常感谢帮助或建设性反馈,谢谢! :)
【问题讨论】:
-
shell 变量不会在单引号中展开。尝试将变量括在双引号内,例如
command 'previous'"$var"'next" -
感谢@user000001!作为一个魅力,嗯,不知道为什么我没有尝试过,知道如何将 $today 作为真正的日期值吗?而不是作为字符串?与 javascript 一样,var from = ISODate("2011-11-24") 知道如何在 shell/bash 中做同样的事情吗?
-
我不认为你可以从 bash 中做到这一点。您可能必须从 mongo 执行此操作,但我不知道如何...
标签: bash mongodb shell parameter-passing