2016-09-27 93 views
-1

我与C#应用程序的工作RethinkDB查询数据 - 从网络界面或C#应用程序(使用驱动程序)运行时,我已经创建了索引的领域之一,但得到了不同的结果RethinkDB排序依据忽略

这里是我的查询网页UI:

r.db('db_data').table('table_data').orderBy({index:r.desc('my_index')}).limit(1) 

,这里是我的C#代码:

RethinkDB.R. 
    Db(mSelectedDB). 
    Table(mSelectedTable). 
    OrderBy(RethinkDB.R.Desc("my_index")).OptArg("index", "my_index"). 
    Limit(1) 
    Run(conn); 

当我从网络上运行我得到正确最后结果,但形式C#应用程序我得到第一 - 所以我的OrderBy不起作用,我在这里做错了什么?在C#中,ATM只能工作的解决方案是使用Nth(-1)而不是Limit(1)+ R.Desc,但速度较慢,所以我宁愿避免它。

环境:2015年VS,RethinkDb.Driver.2.3.15

+3

您的标题有误导性。如果有的话,这不是C#语言问题,它是一个rethinkdb问题。请澄清你的问题,包括数据结构 –

+0

尝试'OrderBy()。OptArg(“index”,RethinkDB.R.Desc(“my_index”))''而不是。免责声明:未经测试,因为直到5分钟前,我对RethinkDB一无所知,但是我要通过[文档](https://rethinkdb.com/api/java/order_by/)。 –

+0

试图(无参数),不起作用 –

回答

1

稍微困惑的问题,但如果你是从排序依据获得的第一个结果,并且希望最后你尝试过使用OrderByDescending?

RethinkDB.R. 
Db(mSelectedDB). 
Table(mSelectedTable). 
OrderByDescending(RethinkDB.R.Desc("my_index")).OptArg("index", "my_index"). 
Limit(1) 
Run(conn); 
+0

对不起,我会优先评论这个问题,但我不能评论 – CopyPasterino

+0

RethinkDb.Driver.2.3.15中没有这样的方法 –