Mongoose数据库连接和模式

时间:2011-06-12 09:36:19

标签: javascript mongodb node.js mongoose

您好:我在网上找到如何使用mongoose和node.js执行简单的数据库连接,模式创建和基本CRUD的困难时间。现在我有以下代码,但我收到错误:

“TypeError:object不是函数

在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);

2 个答案:

答案 0 :(得分:9)

您正在尝试实例化Schema的实例。我会改变

User = new Schema({

UserSchema = new Schema({

以及稍后的电话

var User = mongoose.model('user', UserSchema);

最后

var user = new User();

答案 1 :(得分:0)

在架构定义之后。

//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();