在Couchbase中查看

时间:2014-10-30 18:46:58

标签: couchbase couchbase-view nosql

我有一个沙发基站服务器,我正在尝试创建一些视图,但似乎我没有完全理解视图概念。 我有以下两个示例文档:

{
  "id": 70,
  "status": 2,
  "updatedAt": "2014-09-04T08:52:29.969Z",
  "createdAt": "2014-09-03T21:32:19.000Z",
  "user1": {
    "id": 33185,
    ....
  },
  "user2": {
    "id": 40838,
    .....
  }
}

{
  "id": 71,
  "status": 4,
  "updatedAt": "2014-09-03T21:33:09.404Z",
  "createdAt": "2014-09-03T21:32:20.000Z",
  "user1": {
    "id": 37126,
    ....
  },
  "user2": {
    "id": 36094,
    .....
  }
}

当我使用此地图功能创建视图时:

function (doc, meta) {
  if (doc.user1 && doc.user2) {
    emit(doc.id, doc);
  }
}

视图不会返回第一个文档(ID为70),而第二个文档不会返回。即使两者都有user1和user2,我也不明白为什么。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:4)

您需要将文档从开发文档升级为生产设计文档。开发设计文档仅对数据子集进行操作。

答案 1 :(得分:0)

要记住的是,开发视图用于开发视图本身,仅查看数据的子集。获得它之后,视图就会按照您想要的方式工作,您将视图提升为生产视图,以便它可以对整个数据集起作用。