首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ObjectId mongodb等价于猫鼬?

ObjectId mongodb等价于猫鼬?
EN

Stack Overflow用户
提问于 2022-01-17 20:12:54
回答 1查看 207关注 0票数 0

因此,为了记录在案,这是可行的,但是我们只是在使用猫鼬,但是我不得不从mongodb导入{ObjectId},以便找到候选的ID。

总结:我们正在创建候选人(候选人集合),并为每个候选人我们有/插入一些面试。每个面试都有自己的_id (每个面试也被插入到一个面试集合中),并且每个条目都有相应的候选_id。当我们想要删除那个候选人时,我们需要删除所有有_id的面试。

我仍然100%地不理解猫鼬,所以我可能错过了什么,但如果不使用mongodb {ObjectId},我似乎无法使它工作。

代码语言:javascript
复制
import Candidate from "../../../../models/candidateModel";
import Interview from "../../../../models/interviewModel";
import db from "../../../../utils/db";
import { NextApiRequest, NextApiResponse } from "next";
import { isAuth } from "../../../../utils/auth";
import { ObjectId } from "mongodb";

const handler = nc();
handler.use(isAuth);

handler.delete(async (req: NextApiRequest, res: NextApiResponse) => {
    await db.connect();
    const candidate = await Candidate.findById(req.query.id);

    const candidateId = candidate._id.toString();

    if (candidate) {
        await candidate.remove();
        await Interview.deleteMany({
            candidate: new ObjectId(candidateId),
        });
        await db.disconnect();
        res.send({ message: "Perfil de Candidato apagado" });
    } else {
        await db.disconnect();
        res
            .status(404)
            .send({ message: "Não foi possivel encontrar o Perfil de Candidato" });
    }
});

请给我答案,考虑到这个应用程序使用的是APP /next/typescript/mongoose/axios。

代码语言:javascript
复制
        await Interview.deleteMany({
            candidate: new ObjectId(candidateId),
        });

这是我想知道的部分。如果有人需要查看模式,只需在这里问我,我就会同时发布它们。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-01-17 21:51:31

猫鼬在Schema.Types.ObjectId也有一个Schema.Types.ObjectId:蒙哥斯ObjectId型

猫鼬还读取字符串来匹配对象,这样就不必使用新的ObjectId("stringid")了。

猫鼬有一个id的getter,您可以将_id作为字符串获得,而不是使用_id字段和获取ObjectId。这个"id“称为虚拟字段jsut。你可以在这里读到更多的信息:文件id getter

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70746991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档