微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

猫鼬数据库连接和模式

如何解决猫鼬数据库连接和模式

| 嗨,您好:我在网上很难找到如何使用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 举报,一经查实,本站将立刻删除。