我正在嘗試訪問由貓鼬檢索到的物件內部的屬性
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;
我錯過了什么?請幫忙!
uj5u.com熱心網友回復:
您無法訪問該屬性,因為.find()回傳了一個陣列。
你可以看到你得到的物件console.log(eventToDelete)在[]它周圍。
你將不得不做這樣的事情
const id_chat = eventToDelete[0].chat;
.findOne()如果您期望查詢中只有一個結果,則可以使用
在這里查看如何使用 .findOne()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/450009.html
