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'这样写。

      

     

  • 相关阅读:
    CentOS7 时间设置与网络同步
    CentOS7 系统升级,删除centos7开机界面多余选,升级至最新的内核
    Docker 编排工具Rancher 2.0
    Docker 编排工具Rancher 1.6.18
    通过WSL在Windows下安装子Linux系统
    Docker 使用Dockerfile构建redis镜像
    初探PHP多进程
    nginx转发
    mime类型
    socket php
  • 原文地址:https://www.cnblogs.com/pengshengguang/p/8409757.html
Copyright © 2011-2022 走看看