在grrovy中的单个带引号的字符串中获取命令行值

时间:2016-04-11 18:32:53

标签: groovy

我需要在命令行的查询中插入repo,repo_date值。试过下面的内容,但无法在查询中插入值。

def query='items.find({"type" : "file","repo" :{"$match" : "xyz"},"created":{"$lt": "2010-10-10T00:00:00.000Z").include("name","created").sort({"$asc": ["created"]})'

尝试使用转义字符。

我需要查询(在从命令行传递值之后)

<img id="myImg" src="cool1.jpg" />

1 个答案:

答案 0 :(得分:0)

如果在整个查询字符串周围使用三重双引号,则查询中的双引号不会产生语法错误。这是一个独立的工作示例:

String repo = 'xyz'
String repo_date = '2010-10-10T00:00:00.000Z'
String match = 'something'
String lt = 'foo'
String asc = 'bar'

def query = """items.find({"type" : "file","repo" :{"$match" : "${repo}"},"created":{"$lt": "${repo_date}").include("name","created").sort({"$asc": ["created"]})"""