从猫鼬检索后无法访问对象 属性
Can't access object property after it being retrieved from mongoose
我正在尝试访问 mongoose
检索到的对象内部的 属性
const eventToDelete=await EventModel.find({"creator":_id});
const id_chat=eventToDelete.chat;
console.log(eventToDelete);
console.log(id_chat);
输出:
[
{
_id: new ObjectId("623c71630e1ab7b02941fe51"),
title: 'House Party',
description: "This Saturday 10pm",
type: 'Party',
lat: -37.50328,
lng: -52.28816,
date: 2022-03-24T13:25:27.319Z,
creator: '623c6de2aeafdc7a0f9ac42d',
chat: '623c71630e1ab7b02941fe52',
__v: 0
}
]
undefined
我读到 console.log 显然没有向我展示真正的交易,因为它改变了响应的结构或类似的东西,但我不明白如何实现我需要的(访问那个值)这就是我寻求帮助的原因....
- 我尝试使用 toObject() 函数作为推荐的类似问题的答案之一
但我收到以下错误
eventToDelete.toObject is not a function
- 我确实在事件模式中聊天(这是我找到的最推荐的解决方案)
import mongoose from 'mongoose';
const eventSchema= mongoose.Schema(
{
title: {type:String, required:true},
description: {type:String, default:''},
type: {type:String, default:''},
img:{type:String, default:''},
lat:{type:Number, default:0.0},
lng:{type:Number, default:0.0},
date:{type:Date, default:new Date()},
creator: {type:String, required:true},
chat: {type:String, default:''},
}
)
const EventModel= mongoose.model("EventModel",eventSchema);
export default EventModel;
我错过了什么?
请帮忙!
您无法访问 属性 因为 .find()
returns 一个数组。
你可以看到你从console.log(eventToDelete)
得到的对象周围有[]
。
你将不得不做这样的事情
const id_chat = eventToDelete[0].chat;
如果您只希望从查询中获得一个结果,则可以使用 .findOne()
我正在尝试访问 mongoose
检索到的对象内部的 属性 const eventToDelete=await EventModel.find({"creator":_id});
const id_chat=eventToDelete.chat;
console.log(eventToDelete);
console.log(id_chat);
输出:
[
{
_id: new ObjectId("623c71630e1ab7b02941fe51"),
title: 'House Party',
description: "This Saturday 10pm",
type: 'Party',
lat: -37.50328,
lng: -52.28816,
date: 2022-03-24T13:25:27.319Z,
creator: '623c6de2aeafdc7a0f9ac42d',
chat: '623c71630e1ab7b02941fe52',
__v: 0
}
]
undefined
我读到 console.log 显然没有向我展示真正的交易,因为它改变了响应的结构或类似的东西,但我不明白如何实现我需要的(访问那个值)这就是我寻求帮助的原因....
- 我尝试使用 toObject() 函数作为推荐的类似问题的答案之一
但我收到以下错误
eventToDelete.toObject is not a function
- 我确实在事件模式中聊天(这是我找到的最推荐的解决方案)
import mongoose from 'mongoose';
const eventSchema= mongoose.Schema(
{
title: {type:String, required:true},
description: {type:String, default:''},
type: {type:String, default:''},
img:{type:String, default:''},
lat:{type:Number, default:0.0},
lng:{type:Number, default:0.0},
date:{type:Date, default:new Date()},
creator: {type:String, required:true},
chat: {type:String, default:''},
}
)
const EventModel= mongoose.model("EventModel",eventSchema);
export default EventModel;
我错过了什么? 请帮忙!
您无法访问 属性 因为 .find()
returns 一个数组。
你可以看到你从console.log(eventToDelete)
得到的对象周围有[]
。
你将不得不做这样的事情
const id_chat = eventToDelete[0].chat;
如果您只希望从查询中获得一个结果,则可以使用 .findOne()