gpt4 book ai didi

javascript - 无法读取未定义的 mongoose Nodejs 的属性 'id'

转载 作者:行者123 更新时间:2023-12-03 01:06:54 28 4
gpt4 key购买 nike

我正在尝试从 mongodb 中获取删除对象。但我收到以下错误。

Cannot read property 'id' of undefined

我想在我的架构中通过 Id 和 Id 获取对象只是因为我正在尝试使用 Nodejs 和 mongoDB 进行 gRPC,没有数据库 gRPC 代码工作正常,但在连接到数据库后,当我尝试跟踪错误时,它会抛出错误仅在nodejs中出现上述错误,测试代码附在最后。

注意:插入和列表工作正常。

这是我的 Mongoose 架构

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

const todoSchema = new Schema({
id: {
type: Number,
required: true,
unique: true,
},
title: {
type: String,
required: "Enter title"
},
description: {
type: String,
required: "Enter Description"
},
done: {
type: Boolean,
default: false
},
createdate: {
type: Date,
default: new Date()
}
})

module.exports = mongoose.model('todo', todoSchema);

这是我的 tododb 代码

var todoModel = require('./models/todo')

var Todo = class {

constructor(payload) {
this.payload = payload;
}

static list(callback) {
todoModel.find({}, callback);
}

insert(callback) {
new todoModel(this.payload).save(callback);
}

get(callback) {
const condition = this.payload.condition;
todoModel.find(condition). exec(callback)
}

delete(callback) {
const condition = this.payload;
todoModel.remove(condition, callback);
}
};
module.exports = Todo;

测试代码在这里

var assert = {
get: function (call,callback) {
var payload = {
condition: {
id: call
}
};
var t = new TodoDb(payload);


t.get(callback);
},
};


try {
assert.get(40, callback);
console.log('Passed.');
} catch (error) {
console.log(error.message);
}

注2:我也是 JS 及其技术的初学者

最佳答案

在您正在执行的测试代码中:

assert.get(40);

assert.get执行以下函数,参数为call = 40

function (call) {
var payload = {
condition: {
id: call.request.id
}
};
var t = new TodoDb(payload);


t.get(callback);
}

如果 call = 40 那么

的值是多少

call.request.id

通话 = 40

call.request = 40.request = 未定义

call.request.id = 40.request.id = undefined.id

这给出了错误:

Cannot read property 'id' of undefined

<小时/>

这意味着您正在尝试访问未定义null对象上的属性ID

关于javascript - 无法读取未定义的 mongoose Nodejs 的属性 'id',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52357667/

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