当前位置: 首页 > 知识库问答 >
问题:

Mongodb查找不像我预期的那样工作

莫翰藻
2023-03-14

我想使用查找从一个集合中获取一些数据并将其放入另一个集合中。

在localfield或foreignfield中写什么都不重要,因为它从player_game_stats中获取所有数据并将其插入player集合中的每个文档中。我想检查localfield和foreignField是否相等,但lookup不检查这一点。我对mongodb使用NoSqlBooster

db.player.aggregate().lookup({
      from:'player_game_stats',
      localField: 'player.id',
      foreignField: 'player_game_stats.player_id',
      as: "games"
})

共有1个答案

邹丰羽
2023-03-14

从数据库中验证id字段是否需要下划线,如果需要,则localfield应该是'_id',但如果不需要,则'id'也可以

db.player.aggregate().lookup({
  from:'player_game_stats',
  localField: 'id',
  foreignField: 'player_id',
  as: "games"
 })
 类似资料:
  • 你好,亲爱的StackOverflow社区,我最近遇到了一个问题,我不能把一个已经保存的对象的引用放进去。我不想保存或更新对象,因为这些对象是预先插入到我们的数据库中的。 所以基本上我的情况是这样的:我有一个父,在本例中它是一个摄取,对象有一个IntakeTimes列表,它们被声明为remainingdoses。有道理,嗯。 我的模型看起来如下: 我期待着任何帮助或提示,谢谢社区。

  • 最后是持久性上下文配置: 我很感谢你的帮助。

  • 我有两个Avro模式V1和V2,在spark中读取如下: V1有两个字段“一”和“二” V2 与新字段:“三” 场景:编写器使用 V1 进行写入,读取器使用 V2 对 avro 记录进行解码。我的期望是看到字段3填充了默认值,即null。但是我在spark工作中遇到了以下异常。 我是不是错过了什么?我的理解是avro支持向后兼容。

  • 我正在使用wedriveri o 4.5: 我需要等到某个元素存在,如果它不存在,处理这种情况。 例如: 但如果页面上不存在元素,webdriver会将我的测试标记为失败,并显示消息:“超时10000毫秒。”。尝试减少运行时间或增加测试规格的超时时间(http://webdriver.io/guide/testrunner/timeouts.html); 如果回复promise,确保其得到解决 >

  • 为什么下面的失败? 测试的正确方法是什么?

  • 下面是一个类和log4j配置: $vi My.java $vi log4j2.xml 在日志/foo.bar.log中出现和消息。这是我所期望的。但是在日志/foo.log中什么都没有出现,我期望那里有消息。在控制台上也什么都没有出现,但是我期望消息。所以它没有像我预期的那样工作。那么我的错误是什么? 还有LogManager的论点。getLogger必须是记录器的名称。但我也看到了论点是类的例子