我在一个schema.js文件中有两个模式
var mongoose = require('mongoose');
var user = new mongoose.Schema({
name: String,
add: String,
role: String
});
var Organization = new mongoose.Schema({
name: String,
add: String,
name:String
});
module.exports = {
user: user,
Organization: Organization
};
访问它就像
var models = require("../models/schema");
models.user.findOne()
上面写着findone is not a function
而如果我在一个文件中使用一个类,它就可以工作了。
我已经通过这个链接,并没有像上面的出口
cant get data from database after multiple schema declared (mongoose + express + mongodb
但不起作用
知道吗?
谢谢
在@anthony的帮助下,我解决了这个问题
我需要做下面的
module.exports = {
user: mongoose.model('user', user),,
Organization: mongoose.model('Organization', Organization)
};
2条答案
按热度按时间dpiehjr41#
如果导出多个文件,则必须使用花括号
{ schema1 }
导入然后导入
6ss1mwsb2#
试着用这种抽象的方式来看待它:
一只 Mongoose 。Schema基本上就是一个对象。
模型是一个类,您可以使用模式对象自定义它。
换句话说,mongoose.model拥有所有的数据库函数,而模式本身没有。