首页 > 解决方案 > 对 mLab 的查询不起作用 - CastError: Cast to ObjectId failed for value

问题描述

我正在尝试在我的 React 组件中查询以下 mLab 数据库文档:

{
    "_id": {
        "$oid": "5e7a4fece9cee40348a63dff"
    },
    "userId": "5e7a4fc6e9cee40348a63dfe",
    "timestamp": {
        "$date": "2020-03-24T18:10:43.955Z"
    },
    "isDeleted": false,
    "__v": 0
}

以下是我想做的,但我似乎无法$oid通过我的查询访问该值。我已尝试将令牌值mongoose.Types.ObjectId(token)以及此处的答案包装起来。但是如果我使用$oid我会收到一个错误,说它不能使用。

const token = req.body.token;

UserSession.find(
      {
        _id: token,  // Get an error here
        isDeleted: false
      },
      (err, sessions) => {
        if (err) {
          return res.send({
            success: false,
            message: "Server Error..." + err
          });
          if (sessions.length != -1) {
            return res.send({
              success: true,
              message: "Good"
            });
          }
        }
      }
    );

我完全没有想法,在 SO 或 mLab/MongoDB 文档中找不到任何有效的东西。非常感谢任何帮助。

标签: javascriptjsonmongodbmlab

解决方案


推荐阅读