Mongodb针对本地表中的字符串ID和外部表中的_id查询$ lookup

时间:2018-07-22 14:03:55

标签: mongodb

Mongodb版本:MongoDB Shell版本v3.6.6

我有两个集合中的数据,如下所示:

  1. 收集事件: { "_id" : ObjectId("5b52dc2a9f5ac63b61186f45"), "timestamp" : ISODate("2018-07-21T07:09:30.575Z"), "UserEvent" : "User disconnected user_id=5b522eda9f5ac65b111c72fb", "Event" : "User disconnected ", "UserId" : "5b522eda9f5ac65b111c72fb" }
  2. 收藏用户: { "_id" : ObjectId("5b522eda9f5ac65b111c72fb"), "name" : "som", "role" : "1" } 我需要结果为: { "_id" : ObjectId("5b52dc2a9f5ac63b61186f45"), "timestamp" : ISODate("2018-07-21T07:09:30.575Z"), "UserEvent" : "User disconnected user_id=5b522eda9f5ac65b111c72fb", "Event" : "User disconnected ", "UserId" : "5b522eda9f5ac65b111c72fb", "name" : "som" } 请注意,用户集合中的元素名称。 我以几种方式使用$ lookup组合,但由于_id和字符串UserId加入问题而无法产生结果。如果能得到任何帮助,我将不胜感激。

基本上,我想完成一个简单的连接,如下所示:      Select e.*, u.name from event e, users u where e.UserId = u._id
注意:e.UserId仅具有类似于“ 5b522eda9f5ac65b111c72fb”的字符串,但u._id具有ObjectId(“ 5b522eda9f5ac65b111c72fb”)

0 个答案:

没有答案