如何解决猫鼬数据库连接和模式
| 嗨,您好:我在网上很难找到如何使用mongoose和node.js进行简单的数据库连接,模式创建和基本CRUD。现在,我有以下代码,但出现错误: \“ TypeError:对象不是函数 在Schema.CALL_NON_FUNCTION_AS_CONSTRUCTOR(本机)处。\“// Launch express and server
var express = require(\'express\');
var app = express.createServer();
//connect to DB
var mongoose = require(\'mongoose\');
var db = mongoose.connect(\'mongodb://localhost/napkin_0.1\');
// Define Model
var Schema = mongoose.Schema,ObjectId = Schema.ObjectId;
User = new Schema({
\'title\': { type: String,index: true },\'data\': String,\'tags\': [String],\'user_id\': ObjectId
});
//Define Collection
mongoose.model(\'Document\',User);
var user = new User();
user.title = \"TEST TITLE\";
user.save();
//Launch Server
app.listen(3002);
解决方法
您正在尝试实例化该架构的实例。我会改变
User = new Schema({
至
UserSchema = new Schema({
等一下
var User = mongoose.model(\'user\',UserSchema);
最后
var user = new User();
, 在架构定义之后。
//Define Collection
mongoose.model(\'Document\',User);
上面的代码不是用于定义集合,而是初始化模型对象。
进行如下更改:
//Create Model Object
var UserModel = mongoose.model(\'user_model_name\',User); // 2nd param -> User is a schema object
然后从模型对象中创建Document对象。
如下:
var user_doc = new UserModel();
然后,您可以使用getter / setter和方法。
user_doc.title = \'your text for title\';
user_doc.save();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。