zoukankan      html  css  js  c++  java
  • 【Node.js】通过mongoose得到模型,不能新添字段的问题

    问题描述

      通过node.js为查询到的json对象添加新的字段,对象成功保存到数据库中,但新增字段却没保存。

      前几天用vue+node.js+mongodb技术做一个购物车功能的网页,发现node.js通过mongoose来创建创建数据库表模型(用户模型),通过模型来操作mongoose的保存API来更新数据库。(就是点击商品加入购物车按钮,然后该商品的信息就会添加到users表里面的购物车数组。并且通过userDoc.productNum=1,为当前商品信息添加一个新的数量字段,然后存到购物车数组中(cartList)。但是发现productNum = 1 这个新增的字段根本没有在购物车的商品属性中出现。

     

    寻找原因

      我的用户模型如下:

      

    然后通过node.js来为商品新增productNum属性与checked属性,productDoc就是通过mongoose的模型user,通过对user模型操作保存的api来保存到cartList数组里面,代码如下:

     

    流程看起来很正常,但是保存productDoc也成功了,但查数据库,死活没有新增的prodcutNum与checked字段

    经过webstrom的打点调试,发现productDoc的结构如下:

    看到了吗,上面新增的两个字段在productDoc里面能够看到,但是并没有用,要把新增字段添加在productDoc._doc数组里面,才有用,不然Json对象新增字段不能保存到数据库。

    总结

    node.js想要用到mongoose的对象模型(doc)来对数据库数据新增一个字段,就需要doc._doc.XXX='xxx'这样写。

      

     

  • 相关阅读:
    kubeadm init 时从本地私有仓库下载镜像
    Kubernetes 1.6新特性
    kukubeadm 1.6.1 + docker1.2.6 安装问题
    nginx 配置
    使用nginx替换Ingress
    Docker存储方式选型建议
    iptables相关
    kubenetes master使用curl 操作API
    kubernetes 一些基本的概念
    Codeforces Round #161 (Div. 2) D. Cycle in Graph(无向图中找指定长度的简单环)
  • 原文地址:https://www.cnblogs.com/pengshengguang/p/8409757.html
Copyright © 2011-2022 走看看