Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将此mysql转换为couchdb视图?_Mysql_View_Couchdb_Translate - Fatal编程技术网

将此mysql转换为couchdb视图?

将此mysql转换为couchdb视图?,mysql,view,couchdb,translate,Mysql,View,Couchdb,Translate,我是couchdb的新手,我想基于一个简单的mysql语句创建一个视图。 我找到了这个文档:但遗憾的是,并没有包括所有用例 我的MySQL声明: SELECT `title`, `id`, `author`, `date`, `text` FROM `news` WHERE `date`<=NOW() AND `author`='22' ORDER BY `date` DESC LIMIT 20,10; 从`news`中选择`title`、`id`、`author`、`date`、`te

我是couchdb的新手,我想基于一个简单的mysql语句创建一个视图。 我找到了这个文档:但遗憾的是,并没有包括所有用例

我的MySQL声明:

SELECT `title`, `id`, `author`, `date`, `text` FROM `news` WHERE `date`<=NOW() AND `author`='22' ORDER BY `date` DESC LIMIT 20,10;

从`news`中选择`title`、`id`、`author`、`date`、`text`,其中`date`您需要使用以下映射函数编写视图

function(doc) {
    emit([doc.author, doc.date], {
            "title": doc.title, 
            "author": doc.author, 
            "date": doc.date, 
            "text": doc.text});
}
现在,您可以使用以下URL查询视图:

http://127.0.0.1:5984/dbname/_design/design_doc_name/_view/viewname?startkey=[22, "2010-11-12T10:20:30"]&endkey=[22, {}]&descending=true&skip=20&limit=10
开始键中的日期必须是当前日期时间。无法在couchdb中模拟
NOW()


couchdb中的视图只是按键排序的键值对列表,它提供了访问该列表范围的方法。您需要设计视图,以便使用范围查询获得所需的结果。

您需要使用以下映射函数编写视图

function(doc) {
    emit([doc.author, doc.date], {
            "title": doc.title, 
            "author": doc.author, 
            "date": doc.date, 
            "text": doc.text});
}
现在,您可以使用以下URL查询视图:

http://127.0.0.1:5984/dbname/_design/design_doc_name/_view/viewname?startkey=[22, "2010-11-12T10:20:30"]&endkey=[22, {}]&descending=true&skip=20&limit=10
开始键中的日期必须是当前日期时间。无法在couchdb中模拟
NOW()


couchdb中的视图只是按键排序的键值对列表,它提供了访问该列表范围的方法。您需要设计视图,以便使用范围查询获得所需的结果。

有趣的一点是,您实现了
限制20
,而不是
限制20,10
。感谢您的回答,但是如何能够在限制处进行此偏移?您不能(至少性能不合理)。heuri,你可以通过
skip=20
。更正了我回复中的url。有趣的是,您实现了
限制20
,而不是
限制20,10
。感谢您的回复,但是如何能够在限制处进行此偏移?您不能(至少,性能不合理)。heuri,你可以通过
skip=20
。更正了我回复中的url。