欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > MongoDB用Mongoose得到的對象不能增加屬性完美解決方法(兩種)

MongoDB用Mongoose得到的對象不能增加屬性完美解決方法(兩種)

熱門標簽:廣州長安公司怎樣申請400電話 呼和浩特電銷外呼系統加盟 電銷機器人是什么軟件 怎么投訴地圖標注 杭州人工電銷機器人價格 蘋果汽車租賃店地圖標注 云南外呼系統 老虎洗衣店地圖標注 濟南電銷機器人加盟公司

一,先定義了一個goods(商品)的models

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var productSchema = new Schema({
  "productId":String,
  "producName": String,
  "salePrice":Number,
  "productImage":String
});
module.exports=mongoose.model("Good",productSchema,'goods');

二,在定義一個users(用戶)的models

var mongoose = require('mongoose');
var userSchema = new mongoose.Schema({
  "userId": String,
  "userName": String,
  "userPwd": String,
  "orderList": Array,
  "cartList": [
    {
      "productId":String,
      "producName": String,
      "salePrice":Number,
      "productName": String,
      "productImage": String,
      "checked": String,
      "productNum": String
    }
  ],
  "addressList": Array
});
module.exports = mongoose.model("User", userSchema, 'users')
/*commonjs規范*/

上述兩個models的關系可以看出:一個用戶對應一個購物車(cartList),一個購物車有多個商品對象

現在我們來為用戶添加商品(我們默認是可以直接添加的)===>userDoc為登錄后的用戶,我們為此用戶的購物車添加商品

我們goods路由中:

Goods.findOne({
            productId: productId
          }, function (err1, doc) {
            
            if (err1) {
              return res.json({
                status: "1",
                msg: err1.message
              })
            } else {
              if (doc) {//商品

                 doc.productNum="1",
                  doc.checked="1",

                userDoc.cartList.push(doc);
                userDoc.save(function (err2) {
                  if (err2) {
                    return res.json({
                      status: "1",
                      msg: err2.message
                    })
                  } else {
                    return res.json({
                      status: "0",
                      msg: '',
                      result: "suc"
                    })
                  }
                })
              }
            }
          })

上述正常執行后,我們并沒有在用戶的購物車中看到productNum和checked, 其余的屬性均被賦值。

這是為什么呢?

因為Mongoose是個ODM (Object Document Mapper),類似于操作關系型數據庫使用的ORM(Object Relational Mapper),我們使用Mongoose取到的數據的結構是要依賴于我們定義的schema結構的。增加的屬性在(goods)schema中沒有定義,所以我們給goods臨時附加productNum和checked屬性是無效的。

在這里需要說明一下,就是雖然我們給schema附加屬性,但是這只是實現能真正掛在該schema上,并沒有添加到schema中。比如上述的只是想實現在添加商品的時候,順便把productNum和checked的值賦給users表中。我們無須把屬性存儲到goods中。

結論:mongodb中使用mongoose取到的對象不能增加屬性。

解決方法一,

在schema中直接增加需要補充的屬性。

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var productSchema = new Schema({
  "productId":String,
  "producName": String,
  "salePrice":Number,
  "productImage":String
  "checked": String,
  "productNum": String
});
module.exports=mongoose.model("Good",productSchema,'goods');

這樣兩邊可以對等實現,賦值。(有時候不是很好)

解決方法二,

把查詢到的結果clone一個對象,然后在新對象中補充屬性。

 Goods.findOne({productId: productId}, function (err1, doc) {
            var newobj = null;//新對象
            if (err1) {
              return res.json({
                status: "1",
                msg: err1.message
              })
            } else {
              if (doc) {//商品
                newobj = {//新創建一個對象,實現轉換mongoose不能直接增加屬性的坑
                  productNum: "1",
                  checked: "1",
                  productId: doc.productId,
                  producName: doc.producName,
                  salePrice: doc.salePrice,
                  productName: doc.productName,
                  productImage: doc.productImage,
                }
                userDoc.cartList.push(newobj);
                userDoc.save(function (err2) {
                  if (err2) {
                    return res.json({
                      status: "1",
                      msg: err2.message
                    })
                  } else {
                    return res.json({
                      status: "0",
                      msg: '',
                      result: "suc"
                    })
                  }
                })
              }
            }
          })

執行之后,我們可以看到mongodb數據中的users表的procuctNum和checked被賦值。

總結

以上所述是小編給大家介紹的MongoDB用Mongoose得到的對象不能增加屬性完美解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:
  • Node.js中使用mongoose操作mongodb數據庫的方法
  • Mongoose學習全面理解(推薦)
  • 詳解Nodejs基于mongoose模塊的增刪改查的操作
  • 利用Mongoose讓JSON數據直接插入或更新到MongoDB
  • Mongodb 數據類型及Mongoose常用CURD
  • Node.js的MongoDB驅動Mongoose基本使用教程
  • Mongoose實現虛擬字段查詢的方法詳解
  • 詳解Nodejs mongoose
  • Vue+Node實現商品列表的分頁、排序、篩選,添加購物車功能詳解
  • 用vue和node寫的簡易購物車實現
  • node.js使用mongoose操作數據庫實現購物車的增、刪、改、查功能示例

標簽:無錫 泰安 廈門 遼陽 玉林 雞西 興安盟 自貢

巨人網絡通訊聲明:本文標題《MongoDB用Mongoose得到的對象不能增加屬性完美解決方法(兩種)》,本文關鍵詞  MongoDB,用,Mongoose,得到,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MongoDB用Mongoose得到的對象不能增加屬性完美解決方法(兩種)》相關的同類信息!
  • 本頁收集關于MongoDB用Mongoose得到的對象不能增加屬性完美解決方法(兩種)的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    国产美女视频91| 亚洲综合视频网站| 欧美精品丝袜中出| 亚洲一级片在线观看| 91在线高清观看| 一本久久综合亚洲鲁鲁五月天 | 丁香婷婷综合五月| 日本黄区免费视频观看| 久久精子c满五个校花| 蜜桃视频第一区免费观看| 日本黄色网址大全| 精品国产91乱码一区二区三区 | 国产人妖乱国产精品人妖| 激情偷乱视频一区二区三区| 中文字幕网站在线观看| 26uuu国产日韩综合| 精品在线观看免费| 午夜黄色福利视频| 国产精品毛片大码女人| www.日韩精品| 欧美伊人久久久久久午夜久久久久| 亚洲美女电影在线| 中文字幕无人区二| 日韩一区二区三免费高清| 男人的j进女人的j一区| xxxx日本免费| 国产女人水真多18毛片18精品视频| 东方欧美亚洲色图在线| 91激情在线视频| 午夜av电影一区| 精品国产av无码| 国产午夜精品久久久久久免费视 | 美女黄色一级视频| 日韩三级高清在线| 激情亚洲综合在线| av激情在线观看| 亚洲一区二区三区不卡国产欧美| 色综合久久五月| 久久男人中文字幕资源站| 丁香五精品蜜臀久久久久99网站| 欧美性生活一区| 蜜桃av一区二区三区电影| 女人裸体性做爰全过| 亚洲欧美另类久久久精品| 怡红院一区二区| 国产三级三级三级精品8ⅰ区| 国产91清纯白嫩初高中在线观看| 欧美在线一区二区| 美国十次了思思久久精品导航| 午夜国产福利视频| 伊人色综合久久天天人手人婷| 欧美 日本 国产| 中文字幕在线一区| 国产精品久久不卡| 中文字幕欧美激情一区| 亚洲性图第一页| 2020日本不卡一区二区视频| av不卡免费在线观看| 日韩三级免费观看| 成人av在线观| 日韩欧美不卡在线观看视频| 成人黄色小视频| 日韩精品一区二| 99久久精品一区二区| 日韩久久精品一区| 欧美成人性战久久| 成人爽a毛片一区二区免费| 7777精品伊人久久久大香线蕉完整版 | 亚洲一区视频在线| 欧美另类z0zx974| 一区二区三区在线视频免费观看| 成人午夜剧场视频网站| 一个色综合网站| 开心激情五月网| 日韩电影在线看| 一本色道a无线码一区v| 精品一区二区在线观看| 欧美日韩aaa| 成人av网站大全| 久久久久久久久久久久久久久99 | 老女人性生活视频| 国产日韩欧美综合一区| 久久久午夜精品福利内容| 国产精品福利电影一区二区三区四区 | 亚洲综合丝袜美腿| 国产中文字幕久久| 日本大胆欧美人术艺术动态 | 国产精品一区专区| 欧美一区在线视频| 91一区二区在线| 欧美国产日产图区| 波多野在线播放| 日韩在线a电影| 欧美吻胸吃奶大尺度电影 | 色综合久久88色综合天天6| 久久99精品国产.久久久久| 欧美日本高清视频在线观看| 成人av影视在线观看| 国产亚洲欧美在线| 精品国产无码在线观看| 爽爽淫人综合网网站| 欧洲在线/亚洲| 成人国产在线观看| 国产色产综合色产在线视频| 日韩人妻一区二区三区| 性感美女久久精品| 欧美日韩精品一区视频| 9色porny自拍视频一区二区| 欧美国产成人精品| 国产在视频线精品视频| 久久国产乱子精品免费女| 欧美一区二区三区在线观看| 超碰人人cao| 亚洲精品成人少妇| 色欧美乱欧美15图片| 成人小视频免费在线观看| 久久久不卡网国产精品二区| 人妻大战黑人白浆狂泄| 日韩黄色在线观看| 欧美一区二区三区婷婷月色| 少妇伦子伦精品无吗| 亚洲综合免费观看高清完整版在线 | 日韩无码精品一区二区| 亚洲午夜日本在线观看| 欧美久久久久久久久久| 黄色av电影网站| 香蕉影视欧美成人| 这里是久久伊人| 黄色工厂在线观看| 青青草国产精品亚洲专区无| 日韩欧美中文字幕精品| 美女爆乳18禁www久久久久久| 蜜桃免费网站一区二区三区| 精品国产99国产精品| a资源在线观看| 国产v日产∨综合v精品视频| 国产精品久久久久久亚洲伦 | 国产一区二区按摩在线观看| 国产午夜精品一区二区三区嫩草| 999久久久国产| 成人午夜看片网址| 亚洲裸体xxx| 宅男在线国产精品| 美女脱光内衣内裤| 国产一区二区在线影院| 国产精品三级电影| 色欧美片视频在线观看在线视频| 在线观看欧美一区二区| 午夜精品免费在线| 精品欧美久久久| 殴美一级黄色片| 99国产一区二区三精品乱码| 亚洲自拍都市欧美小说| 日韩三级电影网址| 中文字幕在线观看二区| 成人黄色免费短视频| 亚洲高清不卡在线观看| 精品日产卡一卡二卡麻豆| 国产一二三av| 免费高清视频在线观看| 日韩 欧美一区二区三区| 久久久久久97三级| 色综合一个色综合| 国产女人18毛片水真多18| 久久福利资源站| 国产精品国产精品国产专区不片| 欧美日精品一区视频| 丝袜美腿中文字幕| 成年人国产精品| 天天射综合影视| 国产精品三级av在线播放| 欧美日韩视频在线第一区 | 成人丝袜18视频在线观看| 亚洲成人手机在线| 久久久久国产免费免费 | 色婷婷综合激情| 三级男人添奶爽爽爽视频| 国产精品亚洲人在线观看| 尤物av一区二区| 精品福利av导航| 在线观看国产日韩| 中文字幕网站在线观看| 91视频免费看| 久久国产乱子精品免费女| 自拍偷拍国产亚洲| 日韩欧美国产电影| 色综合天天狠狠| www.狠狠爱| 18深夜在线观看免费视频| 国产中文字幕一区| 亚洲va欧美va国产va天堂影院| 国产午夜精品福利| 91精品国产色综合久久| 一区二区三区影视| 精品无码一区二区三区 | 欧美另类videos死尸| 成人无码精品1区2区3区免费看| 日韩Av无码精品| 成人av电影在线| 精品午夜久久福利影院|