我把它发布到CouchDB-Users邮件列表中,但我想我会把网络扩大一点.
[由于stackoverflow的新用户垃圾邮件规则导致链接被破坏:-(]
希望你们中的一个聪明的人可以提供帮助(或者至少有人可以明确地告诉我我要做的事情是不可能的,而且我将不得不考虑替代方案......我听说MySQL正在接受( - :) .
背景信息:我在这里设置了一个示例数据库:scoates-test.couchone.com/_utils/database.html?follow/scoates-test.couchone.com/follow
我有两种类型的文件.type = user和type = asset.
示例用户:scoates-test.couchone.com/_utils/document.html?follow/c988a29740241c7d20fc7974be05f67d
示例资产:scoates-test.couchone.com/_utils/document.html?follow/c988a29740241c7d20fc7974be061d62
用户可以关注其他用户(type =用户文档的"关注"字段).上面的示例用户(username = bob)是"跟随"2个用户:
"following": [
"c988a29740241c7d20fc7974be05ec54", // username=aaron
"c988a29740241c7d20fc7974be060bb4" // username=dale
]
Run Code Online (Sandbox Code Playgroud)
资产由特定用户拥有.以上示例资产归c988a29740241c7d20fc7974be061d62所有(用户名= bob).
希望这是有道理的.
我想请求属于bob跟随的用户的资产(aaron和dale),我不能把手指放在允许这个的视图代码上.我可以轻松地发出属于c988a29740241c7d20fc7974be05f67d的所有资产.
我可以在两个请求中做到这一点.首先,我向CouchDB询问c988a29740241c7d20fc7974be05f67d,然后将以下内容作为"键"发布到返回属于这些键的资产的视图,但是您会注意到我的type = assets文档也有一个"when"字段,并且我希望能够通过发出[doc.owner,doc.when]作为密钥,然后使用startKey/endKey来订购.因此,我认为密钥的POST已经出来了.
我可以加入应用程序端(查询以下密钥,为每个密钥发出一个请求,然后在应用程序端排序),但这会严重破坏分页(我需要为每个密钥请求pageSize的限制)以下),并且非常快速地失控(如果用户跟踪1000个用户,那么每页有10,000个记录).
这些解决方案都不适合我.我想在 CouchDB中做到这一点.
我真的很难过.请帮忙.
小号
couchdb ×1