我測試的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" }
我希望查詢具有嚴格相反的設置。
好的,有道理。我意識到缺點,但是我沒有注意到,這正是它的工作原理。謝謝 – nimdil