【发布时间】:2017-09-03 07:54:34
【问题描述】:
我在 mongo DB 中有一个 User 集合,它有一个 company 字段,它是对另一个名为 Company 的集合的引用。 我将公司分配给用户。当我尝试在公司字段中打印数据时,它返回我:未定义。
这是我使用的代码,
console.log('company: ' + req.user.company);
if(req.user.company)
console.log("LOGGED IN USER" + "\n Email:" + req.user.username + "\n Psw: " + req.user.password + "\n Role: " + req.user.role + "\n Company: " + req.user.company.name);
这是终端上的响应:
company: 59aab09745db5532c4321742
LOGGED IN USER
Email:user@admin.com
Psw: $2a$10$Z7h3ikaDJLhLXMotV.odaerGf5RFRXxDmlVxCFdvTaL48WalNIwRy
Role: admin
Company: undefined
如您所见,第一行显示分配给该特定用户的公司 ID,但是当我尝试打印该公司的名称时,它返回未定义。
这是 Company 集合条目,它有 name 字段,对象 id 与我上面打印的相同
我哪里错了? 如果您需要更多信息,请告诉我 谢谢
【问题讨论】:
-
“我哪里错了?” 我们怎么知道?这里没有执行查询的代码。这实际上是您需要向我们展示的唯一代码,而且它甚至不在这里。\
-
@NeilLunn 如果您注意,他正在打印
req.user.company,它显示为 ObjectId,而不是对象本身。他没有填充那个领域。我认为这很明显,即使代码不明确。 -
您的评论说:
here because if it was an issue of a missing "populate" then the field reference value would be there and not undefined。它在那里,看看他的代码company: 59aab09745db5532c4321742。你是盲人还是只是倾斜?