老鱼几点了 2018-08-30 01:55 采纳率: 50%
浏览 862
已结题

mongodb创建记录时使用Object数据的问题

背景:nodejs程序中,使用语句RecInfo.create({msg:json,msgType:'xx',time:'xxxxx'});向数据库插入一条记录
msgType和time没有问题,msg原型为Object.
条件:该语句会被高频使用,所以其后续操作没有写在create的回调函数里,且后续对json内容做了修改
现象:存入库中的数据包含了后续修改的内容
疑惑:按本渣之前的理解,程序运行到create后,其中的内容就已经固定下来,后续修改不会影响到存入的数据。但是若要对该现象作出解释,似乎只能是create会在实际向库中写入数据时访问json的地址来获取数据,所以会写入后续内容。
问题:上面的解释是否合理,该如何解释这个现象,mongo的create原理如何?

  • 写回答

2条回答 默认 最新

  • 小∩__∩嫣然儿 2018-08-30 02:09
    关注

    可以尝试将“json”变量的内容转换成字符串格式,然后再用create方法测试一下,如果修改了json的内容,而后续插入数据库中的记录中msg的内容没有改变的话,
    那么就表示json可能是被引用了内存地址,而非实际的值。

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器