$where
アップグレード スクリプトの一部として、ID がフィールドの 1 つと一致するドキュメントを検索するために使用したいと考えています。カーソルで実行するので遅いことはわかっていますが、私には問題ありません。私はそれを一度だけ実行するつもりです。しかし、私はそれを動作させることができません:
> db.things.drop()
true
> stuff = {}
{ }
> db.things.save(stuff)
> stuff.original_id = stuff._id
ObjectId("4ff5f9f97fadec5abb7b5392")
> db.things.save(stuff)
//why doesn't this return anything?
> db.things.find({$where: "this._id == this.original_id"})
//interstingly, this works fine
> db.things.find({$where: "this._id == this._id"})
{ "_id" : ObjectId("4ff5f9f97fadec5abb7b5392"), "original_id" : ObjectId("4ff5f9f97fadec5abb7b5392") }
ここで何が問題なのですか?と比較できないのはなぜ_id
ですかoriginal_id
?