在mongoDB中使用双向查询检索记录



我有两个集合——TicketsUsers。一个user可以有一个对多个tickets。票集合定义如下

Ticket = {_id, ownerId, profile: {name}}

ownerId用于查找属于特定人员的所有门票。我需要写一个查询,得到我所有的用户没有票。

我如何写这个查询,而不必通过所有用户循环,检查userID是否出现在任何门票?

双向存储会给我带来性能问题吗?例如,如果我要更改users集合并添加tickets: [ticketID, ticketID2, ...] ?

我将使用存储在用户中的门票数组。据我所知,Mongo并没有真正的方法来根据一个集合中的元素(缺乏)查询另一个集合。但是,对于数组,您可以简单地执行db.users.find({tickets:[]})

相关内容

  • 没有找到相关文章

最新更新