Mongodb 使用通配符导出查询?

Mongodb Export Query using Wildcards?

我有一个 mongo 集合,其中包含具有以下结构的文档:

{
    "_id": ObjectId("5db82cd948d57f69b83b5e59"),
    "sensor": {
        "_id": "123123",
        "type": "typeA"
    },
    "Object": {
        "_id": "lkj123",
        "type": "typeB"
    }
}

我需要导出传感器 ID 列表的所有文档,但不包括相应的传感器类型。

以下适用于 2 个文档,但这需要我先查找相应的类型,并且传感器 ID 列表太长,无法手动执行此操作。

mongoexport --uri="<MY-CONNECTION-STRING>" --collection="<MY-COLLECTION>" --out=MY-EXPORT.json -q="{$or:[{sensor:{_id : '123', type:'typeA'}},{sensor:{_id : 'abc', type:'typeB'}}]}"

我试过对传感器类型使用通配符,但无法正常工作。

我怎样才能创建一个工作查询,让我只需复制 sensorid's in 就可以做到这一点?

提前致谢!

当您只传递传感器 ID 时,您的查询将有效,只需以这种格式传递它们

mongoexport --uri="<MY-CONNECTION-STRING>" --collection="<MY-COLLECTION>" --out=MY-EXPORT.json -q="{$or:[{'sensor._id':'123'},{'sensor._id':'abc'}]}"

如果您将所有传感器的 ID 都放在一个数组中,我更愿意像下面那样使用 $in,

mongoexport --uri="<MY-CONNECTION-STRING>" --collection="<MY-COLLECTION>" --out=MY-EXPORT.json -q="{'sensor._id': {$in: ['123', 'abc']}}"

这两个例子都适合你