1
我有一个Ember app,它通过ember-couchdb-kit与Couchbase Lite连接。由include_docs返回的文档结构couchbase
我想在桌面上运行它。过去,我成功地使用了CouchDB,但希望迁移到Couchbase Server以更好地控制数据访问。
Ember-couch-kit依赖于all
视图来返回特定类型的元素。例如,我的应用程序有习惯,用于装载这些网址是:
/db/_design/habit/_view/all?include_docs=true&key="habit"
地图功能看起来像:
function(doc) { emit(doc.type, null) }
尽我可以告诉,CouchDB的和Couchbase精简版返回的结果形式:
{
"total_rows":19,
"offset":0,
"rows":[
{
"id":"ce236fe89785d8190abc37e01c001087",
"key":"habit",
"value":null,
"doc":{
"_id":"ce236fe89785d8190abc37e01c001087",
"_rev":"5-1a6274e9f8020e03277f764fd3fb6bba",
"type":"habit",
"name":"Test",
"color":"#000000",
"events":["ce236fe89785d8190abc37e01c00267d",…]
}
},
⋮
Couchbase Server中,而另一方面,返回格式的文档:
{
"total_rows":1541,
"rows":[
{
"id":"habit:150mg buoropion",
"key":"habit",
"value":null,
"doc":{
"meta":{
"id":"habit:150mg buoropion",
"rev":"1-00000700e0f3239a0000000000000000",
"expiration":0,
"flags":0
},
"json":{
"type":"habit",
"name":"150mg Buoropion",
"color":"#D4A475"
}
}
},
⋮
有没有办法使用Sync Gateway获得兼容视图?目前,我正在通过将文档作为map
的值返回来解决此问题。