我正在尝试实现Mongo查询。我写了一个函数,它返回一个查询参数:
"'Week Of': {'$in': [02/13/17]}"
我不想在字符串的前面和后面加上双引号。我知道它是一个字符串,它需要它,但当我将它注入我的查询时,它将无法工作,因为它有那些双引号。有没有办法将字符串转换为纯文本,因此它只是
'Week Of': {'$in': [02/13/17]}
我有一个接受中间哈希的模型,如:
Nosql.aggregate([ p_header + ", " + s_header], {args[0]}, table.target_collection.name.to_sym)
第二个论点是:
args[0] = "'Week Of': {'$in': [02/13/17]}"
这不起作用。但是,当我手动输入
时'Week Of': {'$in': [02/13/17]}
取代
args[0]
它有效。
答案 0 :(得分:0)
看起来它想要一个哈希,当你在作品中输入它时。但是当你将字符串参数放在大括号中时,Ruby不会像你想要的那样解析它。您可以使用eval执行某些操作,但使用生成参数的函数返回哈希值而不是字符串更简单。
您没有显示该代码,但您需要这样的内容......
def make_my_hash(dates)
return {"Week of" => { "$in" => dates}}
end
然后将您的电话改为......
Nosql.aggregate([ p_header + ", " + s_header], args[0], table.target_collection.name.to_sym)