0

我在 mongo 有两个系列。首先是实际数据:

{ "_id" : "internal_key1", "data" : "some data1" }
{ "_id" : "internal_key2", "data" : "some data2" }
{ "_id" : "internal_key3", "data" : "some data3" }

另一个是一些外部服务为我的内部密钥提供的密钥映射:

{ "_id" : "ext_key111", "internal" : "internal_key1" }
{ "_id" : "ext_key222", "internal" : "internal_key2" }
{ "_id" : "ext_key333", "internal" : "internal_key3" }

如果我只有外部密钥,我可以通过一个查询以某种方式检索数据(例如,给定“ext_key111”检索“some data1”)吗?当然,不包括类似 eval 的东西。

4

1 回答 1

1

最简洁的答案是不。

您基本上要求加入,而 MongoDB 明确不允许加入。

但是,根据您的要求,您可能能够摆脱以下结构:

{ "_id" : "internal_key1", "ext_id": "ext_key111", "data" : "some data1" }

您可以在ext_id. 您甚至可以使它看起来与您的数据相匹配的唯一性。

db.ensureIndex({ ext_id: 1 }, { unique: true, background: true })
于 2012-06-24T05:04:22.610 回答