MongoDB,查找属性id等于记录id的所有文档

标签 mongodb

我有这样的收藏:

{
   "_id" : ObjectId("546089aaf83a94de268a35c3"),
  "parent" : {
        "$ref" : "someRef",
        "$id" : ObjectId("546089aaf83a94de268a35c3"),
        "$db" : "someDB",
    }
}

如何查找_id等于parent.id的所有记录?

尝试过 find({"parent.$id": "_id"}) 但显然不可能是这样

最佳答案

此处的parent 包含 database reference 。因此我们需要调用引用的getter方法来获取它的对象ID。

以下查询可以获得预期的输出:

db.collection.find({
    $where: function(){
        return this._id.toString() == this.parent.getId().toString();
    }
}).pretty()

关于MongoDB,查找属性id等于记录id的所有文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58392804/

相关文章:

Node.js 数据库与 MongoDB 的连接?

javascript - 通过索引访问数组

mongodb - 错误 : text index required for $text query

node.js - 无法将对象插入 mongoose/mongodb 的数组中?

c++ - 使用 C++ 驱动程序在 mongoDB 中使用 $elemMatch 投影查找查询

node.js - 无法在 NodeJS 中将字符串转换为 ObjectId

javascript - 以一致的格式显示文档数组的数据

linux - 将输出重定向到 MongoDB 中的文本文件

r - 从 R 包中导出环境

python - mongoengine中ListField的长度限制