匹配 couchdb 设计中的任何键
match any key from couchdb design
我是 couchdb 的新手,我的设计有两个键。我正在使用节点查看列表。无论如何我只能从节点传递一个密钥,如果它与 couchdb 的两个密钥中的任何一个匹配并获取结果。
我在 couchdb 中的设计:
function(doc) {
if(doc.doc_type==="messages")
emit([doc.from, doc.to], doc);
}
使用节点传递密钥
db.view('message','fetch_msg',{key:"user1"}, function(err, body) {
if(err)console.log(JSON.stringify(err))
console.log(body.rows.length)
console.log(JSON.stringify(body));
})
喜欢'user1'是关键之一。
message/fetch_msg是我的设计
如有任何帮助,我们将不胜感激。
我想你想要 this 这样的东西。
您可以在密钥中将另一个参数指定为 {}
。这样key就变成了["user1", {}]
或者[{}, "user1"]
。您可以根据您的情况使用couchdb 的开始键、结束键概念。
您可以为每个文档发出多个键 - 每个键都会 return 同一个文档。
function (doc) {
if (doc.doc_type !== 'messages')
return
emit(doc.from, null)
emit(doc.to, null)
}
如果您想获取一行的整个文档,出于性能原因,建议不要将其作为行的值发出。当您请求视图时,请改用 ?include_docs=true
。
我是 couchdb 的新手,我的设计有两个键。我正在使用节点查看列表。无论如何我只能从节点传递一个密钥,如果它与 couchdb 的两个密钥中的任何一个匹配并获取结果。
我在 couchdb 中的设计:
function(doc) {
if(doc.doc_type==="messages")
emit([doc.from, doc.to], doc);
}
使用节点传递密钥
db.view('message','fetch_msg',{key:"user1"}, function(err, body) {
if(err)console.log(JSON.stringify(err))
console.log(body.rows.length)
console.log(JSON.stringify(body));
})
喜欢'user1'是关键之一。 message/fetch_msg是我的设计
如有任何帮助,我们将不胜感激。
我想你想要 this 这样的东西。
您可以在密钥中将另一个参数指定为 {}
。这样key就变成了["user1", {}]
或者[{}, "user1"]
。您可以根据您的情况使用couchdb 的开始键、结束键概念。
您可以为每个文档发出多个键 - 每个键都会 return 同一个文档。
function (doc) {
if (doc.doc_type !== 'messages')
return
emit(doc.from, null)
emit(doc.to, null)
}
如果您想获取一行的整个文档,出于性能原因,建议不要将其作为行的值发出。当您请求视图时,请改用 ?include_docs=true
。