首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mongoose mpath模块正在创建文档,但没有分配给它的父模块。

mongoose mpath模块正在创建文档,但没有分配给它的父模块。
EN

Stack Overflow用户
提问于 2021-03-10 19:06:35
回答 1查看 215关注 0票数 0
代码语言:javascript
复制
const {category, parent} = newCategory;
        const newCat = new Category({
            _id: new mongoose.Types.ObjectId(),
            name: category,
            parent: parent
        }).save((err, res) => {
            if(err) { console.log(err)}
            else{
                console.log("res in create category:", res);
                // io.to(user.room).emit('create-category-to-list', {res});
            }
        })

日志中的

代码语言:javascript
复制
   res in create category: {    
    codewords: [],  
    children: [],  
    _id: 604916cf866a154e284b2e29, 
    name: 'nameofasdasdasdcat',   
    parent: 60490c9ce00e8b7a38cf4752,
    path: '60490c9ce00e8b7a38cf4752#604916cf866a154e284b2e29',  
    _v:0
}

在这里,文档是创建的,但没有分配给它的父文档为什么会发生这种情况。

在这里您可以看到父子数组是空的

代码语言:javascript
复制
root: {     
    children: [],  
    _id: 60490c9ce00e8b7a38cf4752,    
    name: 'root',         
    path: '60490c9ce00e8b7a38cf4752',   
    _v:0
}

在这里,我使用猫鼬脉冲(猫鼬-mpath)来创建树型数据。

用于猫鼬-mpath https://www.npmjs.com/package/mongoose-mpath

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-13 08:29:58

在getChildrenTree中,函数需要将选项作为lean:false传递

代码语言:javascript
复制
const parent = await Folder.findOne({ _id: user.rootId });
const tree = await parent.getChildrenTree(
   { 
     populate: 'codewords', 
     options: { lean: false } //you need to pass options as lean: false
   });
console.log({ tree });

日志中的

代码语言:javascript
复制
{
  tree: [
    {
      codewords: [],
      children: [],
      _id: 604c6c5bc8a2e03ee43c4c7b,
      name: 'Category-name-2',
      parent: 604c690b87924705a401f9ce,
      path: '604c690b87924705a401f9ce#604c6c5bc8a2e03ee43c4c7b',
      __v: 0
    },
    {
      codewords: [],
      children: [],
      _id: 604c6ce2c8a2e03ee43c4c7d,
      name: 'Category-name-2',
      parent: 604c690b87924705a401f9ce,
      path: '604c690b87924705a401f9ce#604c6ce2c8a2e03ee43c4c7d',
      __v: 0
    },
    {
      codewords: [],
      children: [Array],
      _id: 604c6d21c8a2e03ee43c4c7e,
      name: 'Category-name-3',
      parent: 604c690b87924705a401f9ce,
      path: '604c690b87924705a401f9ce#604c6d21c8a2e03ee43c4c7e',
      __v: 0
    }
  ]
}

为了让您更好地理解,您可以查看mongoose mpath github问题部分==> https://github.com/vikpe/mongoose-mpath/issues/10

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66571268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档