背景:nodejs程序中,使用语句RecInfo.create({msg:json,msgType:'xx',time:'xxxxx'});向数据库插入一条记录
msgType和time没有问题,msg原型为Object.
条件:该语句会被高频使用,所以其后续操作没有写在create的回调函数里,且后续对json内容做了修改
现象:存入库中的数据包含了后续修改的内容
疑惑:按本渣之前的理解,程序运行到create后,其中的内容就已经固定下来,后续修改不会影响到存入的数据。但是若要对该现象作出解释,似乎只能是create会在实际向库中写入数据时访问json的地址来获取数据,所以会写入后续内容。
问题:上面的解释是否合理,该如何解释这个现象,mongo的create原理如何?
mongodb创建记录时使用Object数据的问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 小∩__∩嫣然儿 2018-08-30 02:09关注
可以尝试将“json”变量的内容转换成字符串格式,然后再用create方法测试一下,如果修改了json的内容,而后续插入数据库中的记录中msg的内容没有改变的话,
那么就表示json可能是被引用了内存地址,而非实际的值。解决 无用评论 打赏 举报
悬赏问题
- ¥15 用三极管设计—个共射极放大电路
- ¥15 请完成下列相关问题!
- ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
- ¥15 求daily translation(DT)偏差订正方法的代码
- ¥15 js调用html页面需要隐藏某个按钮
- ¥15 ads仿真结果在圆图上是怎么读数的
- ¥20 Cotex M3的调试和程序执行方式是什么样的?
- ¥20 java项目连接sqlserver时报ssl相关错误
- ¥15 一道python难题3
- ¥15 牛顿斯科特系数表表示