gpt4 book ai didi

mongodb - 为什么我的 MongooseJS ObjectId 无法通过相等性测试?

转载 作者:行者123 更新时间:2023-12-02 03:57:33 24 4
gpt4 key购买 nike

假设我按如下方式保存和检索相同的对象

var obj1, obj2;

instance.save(function(err, saved) {
obj1 = saved;
});

Model.find(obj1._id).run(function(err, retrieved) {
obj2 = retrieved;
});

当我打印到控制台时,ObjectIds 是相同的。如果我对两个 ObjectId 调用 toString,它们是相等的。然而做直线

obj1._id == obj2._id

返回错误。这里发生了什么?

最佳答案

ObjectId 是对象,因此标准 == 相等性测试是比较引用的相等性,而不是比较所包含的 id 值。比较它们的值的正确方法是使用 ObjectId.equals:

obj1.equals(obj2)

关于mongodb - 为什么我的 MongooseJS ObjectId 无法通过相等性测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10627401/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com