Найти документы, где какое-либо поле равно _id объекта - PullRequest
0 голосов
/ 26 января 2019

Наличие документов со следующей структурой:

{
  _id: ObjectId("5bf361ad61816223d7ab26b5"),
  other_field: ObjectId("5bf361ad61816223d7ab26b5")
}
{
  _id: ObjectId("5bf271ad61816223d7ab26b5"),
  other_field: ObjectId("5bf361ad61816223d7ab26b5")
}

Как мне найти документы, где _id равно other_field.

Я попытался db.coll.find({ "$where": "this._id == this.other_field" }) безуспешно (документы не возвращаются), а db.coll.find({ "$where": "this.other_field" == this.other_field" }) правильно доставляет все документы в собрание.

1 Ответ

0 голосов
/ 26 января 2019

Неважно, я решил это:

db.coll.find({$where: function() { return this._id.str == this.other_field }})
...