Вы можете использовать ссылку. $ Id, но она будет игнорировать любые индексы в этих полях.
Я бы посоветовал игнорировать этот метод, если вы не запрашиваете его напрямую через терминал или хотите быстро что-то найти. При использовании больших коллекций вы захотите проиндексировать поле и запросить его, используя метод ниже.
Если вы хотите использовать индексный запрос, используя следующее:
db.post.find('author' : { "$ref" : 'user', "$id" : 'foo' , "$db" :'database_name' })
Если foo является идентификатором объекта
db.post.find('author' : { "$ref" : 'user', "$id" : ObjectId('foo') , "$db" :'database_name' })
Вы можете создать указатель на автора по
db.post.ensureIndex( {'author' : 1 } );