Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mongoose findById

Mongoose findById
EN

Stack Overflow用户
提问于 2020-08-03 19:04:37
回答 3查看 63关注 0票数 0

我正在拼命地寻找存储在mongodb中的对象,以及nodejs和mongoose。

对象的模型如下所示:

代码语言:javascript
运行
AI代码解释
复制
const SimpleResourceSchema = new mongoose.Schema(
  {
    _id: String,
    title: String,
    objective: String,
    url: String,
    content: String,
    active: Boolean,
    type: String,
    owner: String,
  },
  {
    timestamps: true,
    // _id: false,
  }
);

export const SimpleResourceModel = mongoose.model<
  SimpleResource & mongoose.Document
>('simpleResource', SimpleResourceSchema);

使用'id‘参数值’5f1da9737917360dd038bfc0‘进行查询:

代码语言:javascript
运行
AI代码解释
复制
return await SimpleResourceModel.findById(id).exec();

mongodb中存储的数据为:

代码语言:javascript
运行
AI代码解释
复制
{
    "_id": {
        "$oid": "5f1da9737917360dd038bfc0"
    },
    "title": "Learn cooking",
    "objective": "<p>Is the fridge empty ?</p>",
    "content": "...",
    "url": "..",
    "active": true,
    "type": "simple",
    "owner": "5efceb2f63b75c1750846b0a",
    "createdAt": {
        "$date": "2020-07-26T16:04:03.806Z"
    },
    "updatedAt": {
        "$date": "2020-07-26T16:04:03.806Z"
    },
    "__v": 0
}

我四处寻找解决方案,但没有找到任何解决这个障碍的方案。

有人能帮上忙吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-08-03 19:49:50

主要问题是,当您定义模式时,您将id定义为字符串,从模式定义中删除_id: String。并且它会自动添加。如果你想把_id添加到typescript中,你可以创建界面

代码语言:javascript
运行
AI代码解释
复制
export interface SimpleResource extends Document {
  _id: schema.Types.ObjectId,
  ...

}

然后在模型中直接添加它,但是_id已经在文档接口中定义,并确保安装@types/mongoose

代码语言:javascript
运行
AI代码解释
复制
export const SimpleResourceModel = mongoose.model<SimpleResource>('simpleResource', SimpleResourceSchema);
票数 0
EN

Stack Overflow用户

发布于 2020-08-03 19:09:33

你试过了吗?

代码语言:javascript
运行
AI代码解释
复制
var ObjectId = require('mongoose').Types.ObjectId; 
return await SimpleResourceModel.findById(new ObjectId(id)).exec();
票数 0
EN

Stack Overflow用户

发布于 2020-08-03 19:25:15

当我尝试时,我仍然得到一个空响应:

代码语言:javascript
运行
AI代码解释
复制
await SimpleResourceModel.findById(mongoose.Types.ObjectId(id)).exec()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63235472

复制
相关文章
mongoose验证
enum: [‘html’, ‘css’, ‘javascript’, ‘node.js’]
Qwe7
2022/05/23
2.5K0
48、mongoose入门
现在假设我们想把看到的每一只猫都用数据库给记录下来,即每只猫都是一条document(数据行)。
Ewall
2018/11/21
2.1K0
你真的了解mongoose吗?
继上篇文章「Koa2+MongoDB+JWT实战--Restful API最佳实践」后,收到许多小伙伴的反馈,表示自己对于mongoose不怎么了解,上手感觉有些难度,看官方文档又基本都是英文(宝宝心里苦,但宝宝不说
前端森林
2020/04/23
42.1K1
Mongoose 数据校验
Mongoose为了保证数据库数据的一致性,提供了对数据校验的功能,常用的校验有以下这些:
越陌度阡
2020/11/26
1.1K0
mongoose食用姿势!
Mongoose库简而言之就是对node环境中MongoDB数据库操作的封装,一种对象模型工具,可以将数据库中的数据转换为JavaScript对象供我们使用。
十月梦想
2018/08/29
1.5K0
在Express中对MongoDB数据库进行增删改查
这两天跟着B站的Johnny老师学习NodeJs+Express+MongoDB相关的知识点,前后跟着做了1小时搞定NodeJs(Express)的用户注册、登录和授权、Element UI + NodeJs(Express)全栈开发后台管理界面、Express-9-MongoDB删除产品和DELETE请求等系列视频。本篇博客主要是学习在Express中如何对MongoDB数据库进行增删改查。
ccf19881030
2020/02/23
5.6K0
使用 Mongoose 操作 MongoDB
Mongoose是在node.js环境下对mongodb进行便捷操作的对象模型工具。
4O4
2022/04/25
1.7K0
使用 Mongoose 操作 MongoDB
我的NodeJS学习之路6(数据库设计及开发)
早已久仰NoSQL的大名,知道它相对有关系型数据库,有很多的优点,只是一直没有时间来研究这个东西。所以借这个项目,对Mongodb进行了一次深入了解。
飞奔去旅行
2019/06/13
3K0
我的NodeJS学习之路6(数据库设计及开发)
findById引发的Java泛型思考
在Android中最头痛的就是不停的findById需要不停的进行类型转换,那么怎么实现在findById的时候直接设置转换后的类型呢?
大话swift
2019/10/22
5230
findById引发的Java泛型思考
mongoose官方文档总结
你也可以设定虚拟值的 setter ,下例中,当你赋值到虚拟值时,它可以自动拆分到其他属性:
六个周
2022/10/28
21K0
Koa入门(四)Koa 操作数据库
1 NoSql 简介 我们使用 koa 开发后台,最常用的数据库就是 mongodb,这是 NoSql 数据库类型的一种,那什么是 NoSql 呢?首先需要说的是,NoSql 并不表示 NO SQL
测不准
2021/04/15
3.1K0
深入浅出mongodb(二)
上篇文章<深入浅出mongodb(一)>阐述了mongoose的scheme和model基础知识,有了上面的认知,我们开始下面的一系列骚操作,亲爱滴小伙伴们准备好了吗?
小丑同学
2020/09/20
1.6K0
Mongoose学习参考文档
一、快速通道 1.1 名词解释 Schema : 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力 Model : 由Schema发布生成的模型,具有抽象属性和行为的数据库操作对 Entity : 由Model创建的实体,他的操作也会影响数据库 注意: 1.本学习文档采用严格命名方式来区别不同对象,例如: var PersonSchema; //Person的文本属性 var PersonModel; //Person的数据库模型 var Per
庞小明
2018/03/07
24.5K0
四、mongoose的使用
2.定义路由 分模块开发,将路由的方法写在/constroller/stu.js文件中。
Dreamy.TZK
2020/07/09
1.9K0
mongodb操作之mongoose
/** * Created by chaozhou on 2015/10/6. */ var mongoose = require("mongoose"); var db = mongoose.c
用户1141560
2017/12/26
1.4K0
Nodejs学习笔记(十四)— Mongoose介绍和入门
简介   Mongoose是在node.js异步环境下对mongodb进行便捷操作的对象模型工具   那么要使用它,首先你得装上node.js和mongodb,关于mongodb的安装和操作介绍可以参考:http://www.cnblogs.com/zhongweiv/p/node_mongodb.html   Github地址:https://github.com/Automattic/mongoose   API Docs:http://mongoosejs.com/docs/guide.html   
Porschev
2018/03/28
2.9K0
Nodejs学习笔记(十四)— Mongoose介绍和入门
Mongoose索引、内置方法、静态方法与实例方法
索引是对数据库表中一列或多列的值进行排序的一种结构,可以让我们查询数据库变得更快,MongoDB 的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的查询优化技巧。
越陌度阡
2020/11/26
2.5K0
使用Mongoose做关联查询的设计方案
在关系型数据库中,我们通常将这两个对象设计成一对多的关系,一个User对应多个Article。而使用mongoose我们可以如此设计:
飞奔去旅行
2019/06/13
2.8K1
mogoose 创建数据库并增删改查
约束能用对象的方法描述数据类型 是否必须 是否重复 默认值 等,如下定义了一个用户表结构
艳艳代码杂货店
2021/09/26
5.2K0
使用NodeJs(Express)搞定用户注册、登录、授权
首先做一下声明,本篇博客来源于BiliBili上全栈之巅主播Johnny的视频[1小时搞定NodeJs(Express)的用户注册、登录和授权(https://www.bilibili.com/video/av49391383),对其进行了整理。自己跟着视频做,感觉收获不少。 最近在学些NodeJs和Express框架开发后台接口,Express 是一个保持最小规模的灵活的 Node.js Web 应用程序开发框架,为 Web 和移动应用程序提供一组强大的功能。看到B站上全栈之巅-Node.js+Vue.js全栈开发深度爱好者和实践者,感觉Johnny博主的系列视频讲解得不错,其中看到一个视频是1小时搞定NodeJs(Express)的用户注册、登录和授权,介绍了在Express中怎么做用户登录和注册,以及jsonwebtoken的验证,需要在系统中安装MongoDB数据库;于是在自己的Windows10系统下使用VSCode跟着做,前提是要安装好NodeJs和Express开发环境,以及在Windows系统中配置好MongoDB数据库,关于在Windows下安装MongoDB可以参考菜鸟教程中的Windows 平台安装 MongoDB和windows环境下启动mongodb服务。
ccf19881030
2020/02/23
10.4K0

相似问题

mongoose findById返回null

13

Mongoose findById返回null

05

无法使mongoose findById()工作

10

Mongoose:嵌套findById返回空

14

Mongoose findById命令的问题

336
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档