我的 mongodb 中有两个集合或 mongoose 中有两个模式 - 用户和帐户。用户模式
{
account: [{type: db.Schema.Types.ObjectId , ref: 'Account'}]
}
帐户架构如下所示。
{network:String,
firstName: String,
lastName:String,
networkId:Number,
accessToken: String,
accessTokenExpiration:Number,
userId: {type: db.Schema.Types.ObjectId, ref: 'User'}
}
所以它基本上是用户和帐户之间的一对多关系。在快递中,我有一条路线来获取用户的详细信息,比如带有参数 userId 的 /api/user(与用户的 mongodb objectId 匹配)。我想为此请求返回整个用户对象。它还应该包含子文档(即所有用户帐户)。
例如
{ "_id": "51e1b1b2993a51b0ce000005", "account": [ {
"network": "Facebook",
"networkId": xxxx,
"accessToken": "yyyyy",
"accessTokenExpiration": 11111,
"firstName": "John",
"lastName":"Doe"
} ] }
而不是
{ "_id": "51e1b1b2993a51b0ce000005", "account": [ "51e1b1b2993a51b0ce000004" ] }
是否有一种 mongodb 或 mongoose 方式来实现这一点,而实际上不必在 User 对象中迭代帐户数组并在帐户集合中搜索。
谢谢。