我有一个聊天 CouchDB,它以下列格式存储记录。
type:"chat",
email:"p@g.com",
friendEmail:"m@g.com",
time: [year,month,date,hour,min,sec];
msg:"I'm very good",
我创建了一个这样的 View
function(doc) {
if(doc.type==="chat" && doc.email && doc.friendEmail){
emit([doc.time,doc.email],doc);
}
}
我的问题是,如果我只想通过电子邮件“p@g.com”获取聊天记录,我该如何获取?
旁注:我正在使用 Cradle & NowJS。
最佳答案
您创建的 View 允许您按时间检索(具有相同时间的行将按电子邮件排序)。
创建一个允许通过电子邮件查找的 View ;
emit(doc.email, doc);
然后查询
?key=p@g.com
注意:在这两种情况下都没有必要将整个文档复制到 View 中。您可以改为执行 emit(key, null) 并将 &include_docs=true 添加到您的查询中。
关于node.js - 如何在 CouchDB 中使用给定参数进行查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8863039/