我遇到了用流体dsl语法查询正则表达式的问题,我正在尝试使用流体来说类似于("id" -> foo)
的内容。 foo是一个正则表达式,所以在正则表达式上没有$ elemMatch,所以我得到了“没有从Regex到DBObject的隐式视图”。mongodb用casbah流体语法查询正则表达式
所以,目前我要组织我的查询以下列方式:
("someval" $gte 5) ++ ("id" -> foo)
,我必须把ID部分的结束,因为它没有通过DSL去。我想要的是类似
("id" [WHAT OP HERE?] foo.r) ++ ("someval" $gte 5)
我该如何做到这一点? 请注意,我知道如何使用“常规”(“富” - > MongoDbObject(...语法,我想用DSL做同样的事情
感谢
定期变种'MongoDBObject(。 “id” - > foo.r)++(“someval”$ gte 5)''我不知道如果你想在开始时使用id,就会更简单。 – 2013-02-28 19:37:37
您可以创建别名,例如'val $ = MongoDBObject'并将其用作'$(“foo” - >“bar”.r)++(“someval”$ gte 5)' – 2013-02-28 19:52:01
@SergeyPassichenko我不会理解为什么没有$ eq?我想起初我没有找到它,并通过所有代码搜索:),有一个正则表达式$ neq,所以用正则表达式来做$ eq没有意义吗?也许我不了解的东西 – Alex 2013-02-28 20:20:08