json - 如何将 API 请求 JSON 与 MongoDb 中现有的 json 文档进行比较?

标签 json node.js mongodb

问题的标题是不言自明的。我想知道来自 API 请求的 JSON 文档 A 和已经在 Mongo DB 中的 JSON 文档 B 有什么区别。如何获取列名和数据的更改..我正在创建日志..这就是我想要的原因。 .. 下面是我正在尝试的代码:

NodeJS API代码//

 function Updatejob(req, res) {
      return function (jobSchedule) {
        var obj = new Date();

        CompareJSON(req, mongodbjson); 
        return Job.create(req.body).then(.....)
        }

更新记录前Mongodb中已有数据

{
    "_id" : ObjectId("586d1032aef194155028e9c7"),
  "history" : [ 
        {
            "_id" : ObjectId("586d1032aef194155028e9c4"),
            "updated_by" : "",
            "details" : "Job Created",
            "changetype" : "Created",
            "datetime" : ISODate("2017-01-04T15:09:38.465Z")
        }
    ],
 "current_status" : "Pending",
    "time" : 0
}

//请求更新数据

  {
        "_id" : ObjectId("586d1032aef194155028e9c7"),
      "history" : [ 
            {
                "_id" : ObjectId("586d1032aef194155028e9c4"),
                "updated_by" : "",
                "details" : "Job Completed",
                "changetype" : "Completed",
                "datetime" : ISODate("2017-01-04T15:09:38.465Z")
            }
        ],
     "current_status" : "Completed",
        "time" : 0
    }

最佳答案

你可以使用jsondiffpatch:

 var delta = jsondiffpatch.diff(object1, object2);

参见:

关于json - 如何将 API 请求 JSON 与 MongoDb 中现有的 json 文档进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41469256/

相关文章:

java - 如何使用 Java 处理 JSON 响应中的可选键

javascript - Firefox 不会显示动态生成的 JSON 表中的第一行

javascript - 用户偏好的多选项卡问题

javascript - "newListener"事件未触发

node.js - 有没有办法访问 mongodb node.js 驱动程序功能,同时仍然使用 mongoose 进行模式定义?

node.js - 如何在node js mongodb中创建动态引用

java - 无法创建上限集合 mongodb

java - 将 Map<String,Object> 转换为 JSON 并返回 Map

java - 使用 java 和 Node.js 服务器上传。请求文件为空

javascript - 在 ng-repeat 中从 JSON 解析 HTML