2016-07-27 106 views
-1

我有事件收集和用戶集合中的一些用戶中的一些事件。 我有另一個集合中的事件和用戶的映射。該集合中的event_id字段是對事件集合(ObjectId)的引用。但是,當我使用下面的命令搜索的模式,我得到了一個空響應貓鼬findOne通過引用返回null

db.eventusers.findOne({event_id :'57988cd30e9811750324c080'}) 

回報null

,另一方面

當我搜索使用用戶字段,它不是一個引用,只是包含用戶ID的字符串,我得到如下結果。

db.eventusers.findOne({user_id :"578cdcdd56eaec041b6caf3e"}) 
{ 
    "_id" : ObjectId("57988d190e9811750324c081"), 
    "created_at" : "1469615385595", 
    "updated_at" : "1469615618502", 
    "user_id" : "578cdcdd56eaec041b6caf3e", 
    "event_id" : ObjectId("57988cd30e9811750324c080"), 
    "deleted" : false, 
    "invited" : false, 
    "host" : true, 
    "status" : -1, 
    "__v" : 0 
} 

回答

1

我已經找到了解決辦法

db.eventusers.findOne({event_id :ObjectId('57988cd30e9811750324c080')}) 
{ 
    "_id" : ObjectId("57988d190e9811750324c081"), 
    "created_at" : "1469615385595", 
    "updated_at" : "1469615618502", 
    "user_id" : "578cdcdd56eaec041b6caf3e", 
    "event_id" : ObjectId("57988cd30e9811750324c080"), 
    "deleted" : false, 
    "invited" : false, 
    "host" : true, 
    "status" : -1, 
    "__v" : 0 
} 
+1

解釋你的答案,其他用戶會覺得迷惑。 – CENT1PEDE