Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Mongoose填充引用对象id,而不是对象本身 出身背景_Javascript_Node.js_Mongodb_Mongoose - Fatal编程技术网

Javascript Mongoose填充引用对象id,而不是对象本身 出身背景

Javascript Mongoose填充引用对象id,而不是对象本身 出身背景,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,以下是我的用户模型的一部分: const Group=require(“./组”) ... 小组:{ 类型:[{type:Schema.ObjectId,ref:Group}], 默认值:[], }, 这是我的团队模型: module.exports=mongoose.model( “集团”, 新模式( { 姓名:{ 类型:字符串, 要求:正确, 独一无二:没错, }, /** *在此组上具有所有者权限的用户对象数组 */ 业主:{ 类型:[{type:Schema.ObjectId,ref:

以下是我的用户模型的一部分:

const Group=require(“./组”)
...
小组:{
类型:[{type:Schema.ObjectId,ref:Group}],
默认值:[],
},
这是我的团队模型:

module.exports=mongoose.model(
“集团”,
新模式(
{
姓名:{
类型:字符串,
要求:正确,
独一无二:没错,
},
/**
*在此组上具有所有者权限的用户对象数组
*/
业主:{
类型:[{type:Schema.ObjectId,ref:User}],
默认值:[],
},
},
{
时间戳:对,
}
)
)
代码 下面是我正在运行的代码,用于尝试和填充:

const user=await(await user.findOne({u id:…})).execPopulate(“组”)
console.log(user.groups)
当我希望它输出实际的组文档时,我的console.log正在输出一个对象ID数组

尝试的解决方案 我尝试将我的
ref
更改为使用字符串(
“组”
),尝试以不同的方式安排查询,等等。我不确定如何执行此操作

提前道歉如果这是一个重复,我已经尽了最大努力搜索,但无法真正找到一个适合我的解决方案

具体来说,我需要什么帮助?
我试图在用户模型和组模型之间创建一个“链接”。在我的console.log中,我希望它输出一个组文档;但当您将
execPopulate
更改为
populate
时,它会输出一个对象ID(这是它在数据库中原始存储的方式,意味着Mongoose没有正确地转换它)

,如:

async function findUserAndPopulate(userId){
  const response = await User.findOne({
    _id: userId,
  }).populate('groups')


  console.log("response",response)
}
你得到:

{
  groups: [
    {
      owners: [Array],
      _id: 5ecc637916a2223f15581ec7,
      name: 'Crazy',
      createdAt: 2020-05-26T00:31:53.379Z,
      updatedAt: 2020-05-26T00:31:53.379Z,
      __v: 0
    }
  ],
  _id: 5ecc6206820d583b99b6b595,
  fullname: 'James R',
  createdAt: 2020-05-26T00:25:42.948Z,
  updatedAt: 2020-05-26T00:36:12.186Z,
  __v: 1
}
因此,您可以访问
user.groups


请参阅文档:

我不清楚您的问题。你能澄清你的问题、预期产出和实际产出吗?@JairusMartin我正试图在用户模型和组模型之间建立一个“链接”。在我的
控制台.log中,我希望它输出一个组文档;但如果您可以更新您的问题,它会输出一个对象ID(这是它在数据库中原始存储的方式,这意味着Mongoose没有正确地转换它)。您更可能从社区得到响应。@JairusMartin Done!看起来您的问题与如何声明两个模型之间的关系有关,这样您就可以访问诸如user.groups.name之类的关联模型。