私はモカのどこかで次のように主張しています:
assert.equal(model.organizationId,objId);
しかし、私は失敗したモカの結果を次のように取得しています:
Uncaught AssertionError: "5225777180a843d901000012" == "5225777180a843d901000012"
IDが同じのに、なぜそれが起こるのか。
そして、それを克服する方法は?
したがって、javascript の mongodb ObjectIds は、この点で悲しいことにイライラします。それらは異なるオブジェクトobj1 === obj2
であり、それらが表す値が同一であっても false と評価されます。3 つのオプションがあります。
比較する前に文字列に変換します。そうしないととてもイライラするので、私はこれをよく使います。
.equals()
彼らが提供する方法を使用してください:assert.ok(model.organizationId.equals(objId))
null、ObjectIds、または Strings を取り、正しいことを行うことができるカスタム比較関数を作成します (私もこれを行いました)。