亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Mongoose 文檔以點表示法返回“未定義”

Mongoose 文檔以點表示法返回“未定義”

HUX布斯 2022-10-13 16:45:08
我有一個 MongoDB 文檔,它返回某些值,undefined或者null在點表示法中引用時。這是文檔的結構:{    "id": "1",    "version": "1.0.0",    "categories": [], // Array of Category Objects    "bypass": [] // Array of Strings}我使用 Mongoose 如下:Model.findOne({ id: "1" }, { _id: 0 })它成功返回文檔,但是,使用點符號提取特定元素或將它們分配給變量會導致某些元素響應為 null 或未定義。例如,如果我返回的文檔存儲在 中doc,doc.categories將返回[]我創建的類別對象的完整數組 。doc.version返回1.0.0。但是,當我嘗試時doc.bypass,我得到undefined. 如果我嘗試doc.id我得到null.有誰知道發生了什么?代碼編輯:const doc = await Model.findOne({ id: "1" }, { _id: 0 });console.log(doc); // Contains all document data including bypass with its Array of Stringsconsole.log(doc.bypass); // undefined返回:{    id: '1',    version: '1.0.0',    categories: [        {            name: 'Category 1',            id: '1111',            active: true,            children: [Array]        },        {            name: 'Category 2',            id: '2222',            active: true,            children: [Array]        },        {            name: 'Category 3',            id: '3333',            active: true,            children: [Array]        },        {            name: 'Category 4',            id: '4444',            active: true,            children: [Array]        }    ],    bypass: [ '123', '456', '78', '90' ]}undefined
查看完整描述

1 回答

?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

看看上面的內容,它應該可以工作 - 所以它更多是關于你如何設置模型的問題 - 作為參考,我已經把它放在一個工作模型下面,請對照我的例子檢查它,看看你的是否符合那個:


 const mongoose = require('mongoose')

const validator = require('validator')


const Task = mongoose.model('Task', {

    description: {

        type: String, 

        trim: true,

        required: true

        },

    completed: {

        type: Boolean,

        default: false

        }

})


module.exports = Task

如果它符合這一點并且您仍然遇到問題,我可以要求您在上面的代碼中發布您的模型嗎?


謝謝-W


查看完整回答
反對 回復 2022-10-13
  • 1 回答
  • 0 關注
  • 137 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號