Подключение базы данных и схема Mongoose - PullRequest
2 голосов
/ 12 июня 2011

Привет! У меня возникают трудности с поиском онлайн-соединения с базой данных, созданием схемы и базовым CRUD с использованием mongoose с node.js. Сейчас у меня есть следующий код, но я получаю сообщение об ошибке:

"TypeError: объект не является функцией

в Schema.CALL_NON_FUNCTION_AS_CONSTRUCTOR (native) .. "

// 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 ]

9 голосов
/ 13 июня 2011

Вы пытаетесь создать экземпляр экземпляра схемы.Я бы поменял

User = new Schema({

на

UserSchema = new Schema({

и позже на звонок

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

и наконец

var user = new User();
0 голосов
/ 02 января 2013

После определения схемы.

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

Тогда вы можете использовать методы получения / установки и методы.

user_doc.title = 'your text for title';
user_doc.save();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...