mongodb - MongoDB:在数组中查找不是另一个集合中的_id的值
问题描述
在我正在使用的数据库中,有一个 的集合Users
和一个Groups
. 该Groups
模型包含一个数组 ,user_ids
它对应于_id
各个用户的值。每个组都有一组不同的用户。
我的问题是,我不小心从Users
集合中删除了一条记录,事实证明,如果某些代码引用了一个组,而该组又引用了该用户,这可能会导致崩溃。
所以我需要做的是,弄清楚如何以这样的方式查询 mongo,它会告诉我任何与集合中的项目user_id
不对应的内容。_id
Users
谁能建议可以做到这一点的代码,或者指出我应该使用的操作的正确方向?我对 Mongo 很陌生,所以很遗憾我还没有学到很多相关的术语。非常感谢您提供的任何帮助!
解决方案
从 users 集合中获取 id 列表,然后使用 $nin 查找引用不存在用户的组。除非您拥有数百万用户,否则这应该可以很好地工作并且可以快速编码。
推荐阅读
- java - 无法使用 Java 进程执行带有包含 # (哈希)字符的参数的 python 可执行文件
- php - 从字符串中读取 XML 数据
- c# - 每次我尝试向列表中添加值时都会出错
- flutter - Flutter 两个 ListView 并排溢出
- html - 制作一个按钮网格,根据屏幕纵横比更改布局
- postgresql - PostGIS:如何使用通用 3D GEOMETRY 列创建表?
- python - 当值在文件中时,Python脚本在日志文件中找不到值
- c++ - 在c ++中仅连接字符串中的选定元素
- javascript - 反应原生下拉刷新以获取数据
- reactjs - 样式定义中具有 fontweight css 规则的组件会导致打字稿错误:没有重载匹配此定义错误