CouchDb查询2键-电子邮件和DateTimeOffset范围

时间:2019-01-09 12:42:46

标签: c# json asp.net-core couchdb

我将推送看起来像这样的数据。我正在制作一个Web API,它将发布和查询消息历史记录。

{
   "sender":"johndoe@gmail.com",
   "timeSent":"2018-12-17T00:00:00-00:00",
   "subject":"Test Message Subject",
   "body":"Test Message Body",
   "recipients":[
      {
         "account":"447",
         "sites":[
            "161",
            "162"
         ]
      }
   ]
},
{
   "sender":"janedoe@gmail.com",
   "timeSent":"2018-12-17T00:00:00-00:00",
   "subject":"Test Message Subject",
   "body":"Test Message Body",
   "recipients":[
      {
         "account":"447",
         "sites":[
            "161",
            "162"
         ]
      }
   ]
}

我想创建一个视图,以查询发件人是谁,并使用发送的时间超出设置的日期时间。那会有两个键吗?

我想指定datetimeoffset的发送者,开始和结束键。

我被困了约4个小时,正在寻找解决方案。

我是通过代码创建数据库还是已经在GUI中创建数据库?

我已经尝试过以下操作:仅供参考,这只是另一组练习数据

http://localhost:5984/children/_design/name-age/_view/name-age-query?startkey=[“ sofia”,5]&endkey = [“ sofia”,11]

使用姓名和年龄,但是似乎出了点问题。

文档看起来像这样

{
 "id": "8a6469af31cb8032e49c2e6648000e92",
 "key": "8a6469af31cb8032e49c2e6648000e92",
 "value": {
  "rev": "1-e6d0d4d825cd6c4072316443065c67d7"
 },
 "doc": {
 "_id": "8a6469af31cb8032e49c2e6648000e92",
 "_rev": "1-e6d0d4d825cd6c4072316443065c67d7",
 "first_name": "Sophia",
 "last_name": "Jones",
 "gender": "f",
 "age": 7
}
}

这是视图中的映射:

function (doc) {
    emit([doc.first_name, doc.age], [doc.first_name, doc.last_name, doc.age]);
}

这是实际结果,为什么为空?

{
    "total_rows": 6,
    "offset": 4,
    "rows": []
}

0 个答案:

没有答案