位置: 编程技术 - 正文

MongoDB用Mongoose得到的对象不能增加属性完美解决方法(两种)(mongodb morphia)

编辑:rootadmin

推荐整理分享MongoDB用Mongoose得到的对象不能增加属性完美解决方法(两种)(mongodb morphia),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mongodb mongos,mongodb使用教程,mongodb使用教程,mongodb mongos,mongodb key,mongodb mongoose,mongodb ne,mongodb mongos,内容如对您有帮助,希望把文章链接给更多的朋友!

一,先定义了一个goods(商品)的models

二,在定义一个users(用户)的models

上述两个models的关系可以看出:一个用户对应一个购物车(cartList),一个购物车有多个商品对象

现在我们来为用户添加商品(我们默认是可以直接添加的)===>userDoc为登录后的用户,我们为此用户的购物车添加商品

我们goods路由中:

上述正常执行后,我们并没有在用户的购物车中看到productNum和checked, 其余的属性均被赋值。

这是为什么呢?

因为Mongoose是个ODM (Object Document Mapper),类似于操作关系型数据库使用的ORM(Object Relational Mapper),我们使用Mongoose取到的数据的结构是要依赖于我们定义的schema结构的。增加的属性在(goods)schema中没有定义,所以我们给goods临时附加productNum和checked属性是无效的。

MongoDB用Mongoose得到的对象不能增加属性完美解决方法(两种)(mongodb morphia)

在这里需要说明一下,就是虽然我们给schema附加属性,但是这只是实现能真正挂在该schema上,并没有添加到schema中。比如上述的只是想实现在添加商品的时候,顺便把productNum和checked的值赋给users表中。我们无须把属性存储到goods中。

结论:mongodb中使用mongoose取到的对象不能增加属性。

解决方法一,

在schema中直接增加需要补充的属性。

这样两边可以对等实现,赋值。(有时候不是很好)

解决方法二,

把查询到的结果clone一个对象,然后在新对象中补充属性。

执行之后,我们可以看到mongodb数据中的users表的procuctNum和checked被赋值。

总结

以上所述是小编给大家介绍的MongoDB用Mongoose得到的对象不能增加属性完美解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

mongodb禁止外网访问及添加账号的操作方法 那么我将从两个方面提高mongo数据库的安全防护系数1.设置mongodb外网禁止访问启动数据库时,额外添加--bind_ip.0.0.1即可./mongod--bind_ip.0.0.1--dbpath/data/db

如何对 MongoDB 进行性能优化(五个简单步骤) MongoDB一直是最流行的NoSQL,而根据DB-EnginesRanking最新的排行,时下MongoDB已经击败PostgreSQL跃居数据库总排行的第四位,仅次于Oracle、MySQL和MicrosoftSQLServer

MongoDB服务端JavaScript脚本使用方法 常用JavaScript语句db.getSiblingDB(dbname)db.getCollectionNames()db.getCollection(collname)db.printCollectionStats()在mongoshell运行JavaScript脚本切换数据库:usedbname运行如下脚本

标签: mongodb morphia

本文链接地址:https://www.jiuchutong.com/biancheng/312090.html 转载请保留说明!

上一篇:MongoDB中文档的更新操作示例详解(mongodb document)

下一篇:mongodb禁止外网访问及添加账号的操作方法(mongodb局域网访问)

  • 税会差异产生的原因
  • 金蝶eas怎么用
  • 营利性医疗机构筹建是什么意思
  • 外贸出口增值税怎么申报
  • 个人房贷利息抵税
  • 人力资源服务发票
  • 购置新建商品房,自房屋交付使用
  • 承兑汇票转出
  • 异地预交所得税跨年还能用吗
  • 供应商租赁企业资质要求
  • 购买股权支付的相关税费怎么处理
  • 所得税汇算调增调减是什么意思
  • 印花税已经缴纳了还需要申报
  • 房产税税率及计算方法最新
  • 携税宝报税流程
  • 融资租赁收到租金不确认收入
  • 劳务清包工可以开3个点的票么
  • 银行结算卡年费多少
  • 转让旧固定资产怎么做账
  • 科技开发属于什么产品
  • 无法查明原因现金盘盈计入什么科目
  • 冲销上月暂估入账的原材料会计分录
  • 会计利润利润总额的计算
  • 餐饮业会计做账技巧
  • php数组函数输出《咏雪》里有多少"片"字
  • 企业转让要收多少费用
  • h5响应式布局是什么
  • 阿里云搭建hexo
  • 新公司30天内未办理税务登记
  • 库存现金盘盈影响营业利润吗
  • 如何收取会员会费才合法
  • 买入返售金融资产和卖出回购金融资产
  • 股本减少是什么意思
  • 基于Wav2Lip的AI主播
  • js map()
  • 本地存储localstorage没有拿到最新值
  • [深度学习] fast-reid入门教程
  • java集合框架主要有
  • springboot怎么配置拦截器
  • 海关进口增值税专用缴款书如何抵扣
  • 结构性存款现金流量折现法
  • 普通发票可以改日期吗怎么改
  • 销售货物收到托运怎么办
  • 流动比率好说明什么
  • 汽车配件属于什么业务类型
  • 减免税款科目期末有余额吗
  • 卖二手车怎么做账务处理
  • 应交增值税为什么在借方
  • 个人微信转账可以给对方开发票吗
  • 经营性应收项目的计算公式
  • 应收账款坏账准备借贷方向
  • 接受慈善捐款结尾怎么写
  • mysql中key 、primary key 、unique key 与index区别
  • mysql字符集设置命令
  • Office 2007在Windows Vista中出现的反常字体问题的解决办法
  • 商用计算机英文
  • Windows 2008之AD LDS轻型目录服务解析
  • win7玩游戏卡吗
  • windows打开或关闭功能
  • centos7 login账号
  • archlinux 配置网络
  • win7怎么设置u盘启动为第一启动项
  • win10系统的pin码
  • win10系统怎么刻录光盘?win10刻录光盘详细图文步骤
  • retail版win10
  • jquery validation plugin
  • jQuery基于ajax操作json数据简单示例
  • django自定义模板标签
  • linux shell执行命令
  • python整理表格不用入门
  • 删除cmd命令记录
  • linux运行nginx
  • javascript 继承
  • shell脚本 -ne 0
  • javascript入门教学
  • 发票测试纸在哪里打印
  • 雅阁交强险和车船税多少
  • 机场停车票怎么取得
  • 正在办退休社区盖章到了那一步
  • 加拿大海关关税税率查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设