gpt4 book ai didi

javascript - 从集合中获取单个值时出错

转载 作者:行者123 更新时间:2023-11-28 05:22:57 24 4
gpt4 key购买 nike

我有一个名为 notification 的集合,我正在尝试使用 findOne() 获取单个值

 var allnotices = Notifications.findOne({eventownernumber:"2"},{sort: {noticedate: -1, limit: 1}}).noticemessage;

我想要获取 eventownernumber2 的值,并且我想要获取最新记录,但我只想要一条记录。

尽管 noticemessage 是行字段的一部分,但我收到 noticemessage 未定义的错误。

这是架构

{
"_id": "tmkWCydSKZtYdrKTZ",
"eventoriginalid": "3bXvARk6K6yhee6Hi",
"lat": "-1.851881824302658",
"lng": "96.987469482421875",
"eventownernumber": "1",
"eventownernames": "Test 1",
"eventtitle": "ci",
"eventtime": "08:05",
"invited": "0",
"eventduration": "21",
"eventtype": "notification",
"eventcategory": "hackathon",
"eventstatus": "11",
"createdAt": {
"$date": "2016-11-02T12:38:40.378Z"
},
"noticedate": {
"$date": "2016-11-02T16:50:53.394Z"
},
"noticenumber": "2",
"noticenames": "Test 2",
"noticemessage": "Test 2 has joined your event ci",
"noticestatus": "12"
}

为什么noticemessage未定义?

最佳答案

Collection.findOne(query).key 可能产生错误的基本可能性有四种:

  1. 没有与查询匹配的文档,因此您尝试引用 undefined.key
  2. 返回的文档中不存在相关 key
  3. 文档存在于数据库中,但未由服务器发布由客户端订阅
  4. 文档存在并已发布和订阅,但订阅尚未.ready(),即您需要等待才能访问它。

常见的防御模式是:

const oneDoc = myCollection.findOne(query);
let myVar = oneDoc && oneDoc.key;
if ( myVar ) {
// do the thing
} else {
// handle the error
}

关于javascript - 从集合中获取单个值时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40392238/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com