问题描述
我有以下观点
{
"_id": "_design/view2","_rev": "7-12d726e051cc03a083b0b0fcffd721fd","views": {
"view2": {
"map": "function (doc) {\n emit([doc._id,doc.pos,doc.id16,doc.Oid,doc.resultTime],1);\n}"
}
},"language": "javascript"
}
我想查询 bt 单键值。例如,我想要所有 Oid=123 的文档,我不担心其他键值。我该怎么做?
提前致谢。
解决方法
您需要在设计文档中创建另一个仅发出 oid
字段的视图,并在您的查询中使用该视图。可以通过将设计文档中的 views
更改为以下内容来完成:
"views": {
"view2": {
"map": "function (doc) {\n emit([doc._id,doc.pos,doc.id16,doc.Oid,doc.resultTime],1);\n}"
},"byOrderId": {
"map": "function (doc) {\n emit(doc.Oid,doc._id);\n}"
}
}
附言在上面的视图(byOrderId
) 中,我发出了 Oid 作为键和文档的 _id 作为值。如果您需要文档的任何其他字段,您可以更改发出的值,或者如果您的用例需要整个文档,您可以使用查询的 include_docs
参数。