gpt4 book ai didi

node.js - Mongoose findbyid() 返回 null

转载 作者:行者123 更新时间:2023-12-02 11:23:34 26 4
gpt4 key购买 nike

我试图通过它的 id 在我的 mongo db 中找到一条记录

无论我使用 findbyid(), findone(id,...),它都返回 null

这是我的代码。解决办法是什么?

const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/Movie', {useNewUrlParser: true})
.then(() => console.log('Connected to Databse'))
.catch(err => console.err('Could not connect to MongoDB', err));

var ObjectId = require('mongodb').ObjectID;

const Schema = new mongoose.Schema({
name: String,
author: String,
tags: [String],
date: Date,
isPublished: Boolean,
price: Number
});

const Data = mongoose.model('Datas', Schema);

async function updateData(id){
const result = await Data.findById(id);
console.log(result);
}
updateData('5a6900fff467be65019a9001');

最佳答案

我有同样的问题。我的数据库集合中的 _id 是 String .启用 Mongoose 调试后 require('mongoose').set('debug', true) ,发现mongoose查询idObjectId("yourId")除非我们定义 _id在架构中。为了解决这个问题,我不得不添加 _id:String进入 Mongoose 模式。

const MyDataSchema = new Schema({
_id: String,
...
...
}

关于node.js - Mongoose findbyid() 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52147649/

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