0
假设我有一个mongodb集合A和B. 虽然A有一个B的外键叫做b_id。mongodb中的关系条件
我怎样做MongoDB中(甚至红宝石越好)以下查询:
select * from A where b_id not in (select id from B where <some_condition>);
假设我有一个mongodb集合A和B. 虽然A有一个B的外键叫做b_id。mongodb中的关系条件
我怎样做MongoDB中(甚至红宝石越好)以下查询:
select * from A where b_id not in (select id from B where <some_condition>);
的MongoDB没有做关系查询(它不是所谓的NoSQL 不原因) - 但有是其他方式,你可以做到这一点。
在蒙戈客户端运行的两步查询,第一获取内部阵列,然后使用$nin operator:
变种IDS = db.B.find(条件); db.A.find({b_id:{$ nin:ids}});
如果您仍处于设计阶段,您可以考虑为您的模式使用嵌套文档。例如,如果乙有许多甲,则可以添加的甲阵列以每乙作为属性。 (请记住,虽然,有一个limit to document size in MongoDB,所以这不是一个很好的解决方案,如果在任何给定的乙一个数量可能会非常大。)
谢谢。我不能嵌入它应该保持独立的对象。但我会尝试第一个选项。 –