JavaScript >> Javascript 文檔 >  >> Node.js

Mongoose 中的嵌套對象

像 Mongoose 這樣的 ORM 有一定的魔力。當我試圖迭代嵌套對象的屬性時,我很難學會它(像往常一樣!)。例如,這是一個帶有嵌套對象 features 的模式 定義如下:

var User = module.exports = new Schema({
  features: { 
    realtime_updates: {
      type: Boolean
    },
    storylock: {
      type: Boolean
    },
    custom_embed_style: {
      type: Boolean
    },
    private_stories: {
      type: Boolean
    },
    headerless_embed:{
      type: Boolean
    }
};

假設我想覆蓋對象 features_enabled 具有這些屬性:

if (this.features) { 
  for (var k in this.features) {
    features_enabled[k] = this.features[k];
  }
}
console.log(features_enabled)
return features_enabled;

沒那麼快,我得到了很多特定於 Mongoose 的系統屬性。相反,我們需要使用 toObject() ,例如:

if (this.features.toObject()) { 
  for (var k in this.features.toObject()) {
    console.log('!',k)
    features_enabled[k] = this.features.toObject()[k];
  }
}

記住第一條規則,電腦永遠是對的。如果我們認為這是錯誤的,請查看第一條規則。 :-)


Tutorial JavaScript 教程
  1. 將參數傳遞給ajax onreadystatechange回調?

  2. 當用戶使用 React Router 點擊一個類別時,如何打開一個新網頁?

  3. 在控制台中調試 Javascript

  4. 重新拋出 promise catch 中的錯誤

  5. 讓我們開發一個二維碼生成器,第九部分:構建更大的版本

  6. Microsoft Edge 中的屏幕截圖

  7. 使用 Bind 綁定參數

  1. 隔離助手 - 第 2 部分 - React Native 中的第一個視圖

  2. 純 CSS 的力量

  3. 學習 WebAssembly

  4. 2到3

  5. Python 與 Pyodide 的反應

  6. 在 5 分鐘內使用 Netlify 免費託管 React App

  7. Project 77 of 100 - 使用 react-quill 的 React 本地筆記

  1. 創建 Firefox 瀏覽器擴展 - 22

  2. 帶有不和諧問題通知的 CI-CD 管道

  3. 使用 React 將文件上傳到 Azure Blob 存儲

  4. 沒有下拉菜單的引導導航欄下拉表