如何在比较javascript中的特定键_id.$iod后获取特定对象?

How to get particular object after compare particular key _id.$iod in javascript?

我正在使用 mongoDB 来存储数据和检索数据。所以我正在获取响应数据。我可以通过比较名称获得特定对象,但是当我想比较 _id.$oid 时,它会给我未定义的。我正在分享我的代码。

   Array.prototype.getIndexBy = function (name, value) {
        for (var i = 0; i < this.length; i++) {
            if (this[i][name] == value) {
                return i;
            }
        }
        return -1;
    }

    var data = documents[documents.getIndexBy("_id.$oid", "33453223")]
    console.log("----------updates-------->",data);

样本JSON

[
{"_id":{"$oid":"3426"},
"name":"peeter"
},
{"_id":{"$oid":"5a027"},
"name":"ken"
},
{"_id":{"$oid":"5999"},
"name":"karmal"
}
]

我可以与 name 进行比较,但我想与 _id.$oid 进行比较,当我使用 _id.$oid 时,它给了我未定义的值。我只想与 _id 进行比较。我指的是 link
find the array index of an object with a specific key value in underscore

如果你使用lodash/underscore.js,你可以使用_.find

var users = [
  {"_id":{"$oid":"3426"},
  "name":"peeter"
  },
  {"_id":{"$oid":"5a027"},
  "name":"ken"
  },
  {"_id":{"$oid":"5999"},
  "name":"karmal"
  }
];
 
var index = _.find(users, function(o) { return o._id.$oid == '5999'; });

console.log(index);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.js"></script>