私は MongoDB をテストしていますが、ちょっと驚いた例を次に示します。
> function compare(a,b) { return (a==b); }
そして、私のコレクションをリストするには:
> db.myCol.find()
{ "_id:" : ObjectId("..."), "name" : "mongo" }
{ "_id:" : ObjectId("..."), "x" : 3 }
{ "_id:" : ObjectId("..."), "name" : "mongo", "notName" : "wow" }
そして - 完全に確実にするために:
> compare('mongo','mongo')
true
そして奇妙な部分:
> db.myCol.find( { $where : "compare(this.name,'mongo')" } )
{ "_id:" : ObjectId("..."), "x" : 3 }
> db.myCol.find( { $where : "this.name=='mongo'" } )
{ "_id:" : ObjectId("..."), "name" : "mongo" }
{ "_id:" : ObjectId("..."), "name" : "mongo", "notName" : "wow" }
クエリには厳密に反対の設定があると思います。