如何引用另一个文件夹中的模型?

圣地亚哥

例如,nexts 模式位于不同的文件夹中,如下所示:

cr/user
lms/content

这是 schemaContent

user: {
        type: Schema.Types.ObjectId,
        ref: 'cr/user'
    }

如何从内容中引用用户?

因为当我使用 cr/user 时,我收到一个错误“模式尚未为模型注册”

我只需要从诸如Content.find().populate({ path: 'users' })将用户保留在名为 cr 的文件夹中以及在名为 lms 的文件夹中的内容之类的内容中填充用户

神圣的

您正在尝试嵌套文档。尝试以下方法来嵌套文档。

我将假设目录crlms在名为的目录内demoproject

演示项目/cr/user.js

const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const UserSchema = new Schema({
    name:{
        type : String,
        required: true
    }
});
const User = mongoose.model("User",UserSchema);
module.exports = User;

演示项目/lms/content.js

./../cr/user- 从lms目录返回并进入cr/user

const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const User = require("./../cr/user");
const ContentSchema = new Schema({
    type:{
        type : String,
        required: true
    },
    users : [{
        type  : Schema.Types.ObjectId,
        ref : "User"
    }]
});
const Content = mongoose.model("Content",ContentSchema);
module.exports = Content;

如何从内容中引用用户?

我希望你的问题现在很清楚。继续阅读下面

关键时刻

让我们使用这两个模型插入数据。

创建一个文件来编写 mongo 查询 ( demoproject/index.js)。

  • 由于User model嵌套到Content model,我们需要首先将数据保存到User model
  • 然后将数据保存到 Content model
  • 现在将数据推送到users内容模型中存在的对象中contentdata.users.push(userdata);
  • contentdata将 userdata 对象推入 contentdata 后不要忘记保存contentdata.save();

演示项目/index.js

const User = require("./cr/user");
const Content = require("./lms/content");

const userobj = new User({name : "rockyjohnson"});
const contentobj = new Content({type : "gloves"});

userobj.save().then((userdata)=>{
    contentobj.save().then((contentdata)=>{
        contentdata.users.push(userdata);
        contentdata.save();
    }).catch((err)=>{
        console.log("err while saving contentdata ", err);
    })
}).catch((err)=>{
    console.log("err while saving userdata ", err);
}) 

mongodb 输出 在此处输入图片说明

就这些

更新:回答第二个问题

findarray在其承诺中返回一个对象。我能够提取users存在于Content model此处的对象下面是我用来验证的查询

Content.find().then((data)=>{
    data.forEach(element => {
        console.log("element users ",element.users); // element.users contains all id's stored in the users array
    });
}).catch((err)=>{
    console.log("err  ",err);
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何确定另一个文件夹中存在的文件或文件夹?

来自分类Dev

如何从Eclipse的另一个文件夹中的一个文件夹导入protobuf文件?

来自分类Dev

Linux如何删除前缀与另一个文件夹不匹配的文件夹中的文件?

来自分类Dev

如何从另一个文件夹中的文件导入python类?

来自分类Dev

如何包括另一个文件夹中的JSP文件

来自分类Dev

如何在另一个文件夹中添加源文件

来自分类Dev

如何从另一个文件夹中的文件导入python类?

来自分类Dev

如何从另一个文件夹和文件列表中减去?

来自分类Dev

如何自动将文件夹中的更改应用到另一个文件夹?

来自分类Dev

如何在另一个文件夹中执行命令,而不重复文件夹路径?

来自分类Dev

如何在另一个NTFS文件夹中挂载NTFS文件夹

来自分类Dev

如何从另一个文件夹中的批处理中运行.bat

来自分类Dev

在另一个文件夹中创建相同的子文件夹

来自分类Dev

如何配置Apache重定向到OS中的另一个文件夹

来自分类Dev

如何将数据移动到memsql中的另一个文件夹

来自分类Dev

如何让这个链接在另一个文件夹中开始?

来自分类Dev

从另一个文件夹linux shell中删除一个文件夹中的文件

来自分类Dev

如何将文件从文件夹和子文件夹复制到R中的另一个文件夹?

来自分类Dev

如何在一个文件夹中为另一个文件夹中的多个文件创建符号链接

来自分类Dev

如何将FTP服务器中的CSV文件从一个文件夹移动到另一个文件夹?

来自分类Dev

如何列出一个文件夹中某处出现的所有文件,而不是另一个文件夹?

来自分类Dev

如何在一个文件夹中运行python程序以及如何从另一个文件夹导入和运行python程序

来自分类Dev

如何顺序循环浏览一个文件夹中的图像并与另一个文件夹中的最新图像进行比较

来自分类Dev

如何仅从另一个Git存储库中拉出一个文件夹?

来自分类Dev

如何从Debian的另一个文件夹中运行一个抓痒的爬虫

来自分类Dev

如何将一个文件夹复制到另一个文件夹

来自分类Dev

搜索与另一个文件夹中的另一个文件名匹配的文件

来自分类Dev

在另一个文件夹中显示一个文件夹的内容

来自分类Dev

如何在另一个不存在的文件夹中递归创建一个文件夹?

Related 相关文章

  1. 1

    如何确定另一个文件夹中存在的文件或文件夹?

  2. 2

    如何从Eclipse的另一个文件夹中的一个文件夹导入protobuf文件?

  3. 3

    Linux如何删除前缀与另一个文件夹不匹配的文件夹中的文件?

  4. 4

    如何从另一个文件夹中的文件导入python类?

  5. 5

    如何包括另一个文件夹中的JSP文件

  6. 6

    如何在另一个文件夹中添加源文件

  7. 7

    如何从另一个文件夹中的文件导入python类?

  8. 8

    如何从另一个文件夹和文件列表中减去?

  9. 9

    如何自动将文件夹中的更改应用到另一个文件夹?

  10. 10

    如何在另一个文件夹中执行命令,而不重复文件夹路径?

  11. 11

    如何在另一个NTFS文件夹中挂载NTFS文件夹

  12. 12

    如何从另一个文件夹中的批处理中运行.bat

  13. 13

    在另一个文件夹中创建相同的子文件夹

  14. 14

    如何配置Apache重定向到OS中的另一个文件夹

  15. 15

    如何将数据移动到memsql中的另一个文件夹

  16. 16

    如何让这个链接在另一个文件夹中开始?

  17. 17

    从另一个文件夹linux shell中删除一个文件夹中的文件

  18. 18

    如何将文件从文件夹和子文件夹复制到R中的另一个文件夹?

  19. 19

    如何在一个文件夹中为另一个文件夹中的多个文件创建符号链接

  20. 20

    如何将FTP服务器中的CSV文件从一个文件夹移动到另一个文件夹?

  21. 21

    如何列出一个文件夹中某处出现的所有文件,而不是另一个文件夹?

  22. 22

    如何在一个文件夹中运行python程序以及如何从另一个文件夹导入和运行python程序

  23. 23

    如何顺序循环浏览一个文件夹中的图像并与另一个文件夹中的最新图像进行比较

  24. 24

    如何仅从另一个Git存储库中拉出一个文件夹?

  25. 25

    如何从Debian的另一个文件夹中运行一个抓痒的爬虫

  26. 26

    如何将一个文件夹复制到另一个文件夹

  27. 27

    搜索与另一个文件夹中的另一个文件名匹配的文件

  28. 28

    在另一个文件夹中显示一个文件夹的内容

  29. 29

    如何在另一个不存在的文件夹中递归创建一个文件夹?

热门标签

归档