Md.*_*lam 2 mongoose mongodb node.js express
我在单个 schema.js 文件中有两个架构
var mongoose = require('mongoose');
var user = new mongoose.Schema({
name: String,
add: String,
role: String
});
var Organizationn = new mongoose.Schema({
name: String,
add: String,
name:String
});
module.exports = {
user: user,
Organizationn: Organizationn
};
Run Code Online (Sandbox Code Playgroud)
访问它就像
var models = require("../models/schema");
models.user.findOne()
Run Code Online (Sandbox Code Playgroud)
它说 findone 不是一个函数
而如果我在文件中使用单用户,则它正在工作。
我已经浏览了这个链接并像上面那样导出
声明多个模式后无法从数据库中获取数据(mongoose + express + mongodb
但不工作
任何的想法?
谢谢
在@anthony 的帮助下,我找到了问题所在
我需要做以下
module.exports = {
user: mongoose.model('user', user),,
Organizationn: mongoose.model('Organizationn', Organizationn)
};
Run Code Online (Sandbox Code Playgroud)
如果您导出多个文件,则必须使用花括号导入 { schema1 }
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
});
const userSchema = mongoose.model('users', user),
const organizationSchema = mongoose.model('organizations', organization)
module.exports = { User: userSchema, Organization: organizationSchema }
Run Code Online (Sandbox Code Playgroud)
然后导入
var { User } = require("../models/schema");
var { Organization } = require("../models/schema");
User.findOne()
Organization.findOne()
Run Code Online (Sandbox Code Playgroud)