2

こんにちは: node.js で mongoose を使用して単純なデータベース接続、スキーマ作成、および基本的な 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);
4

2 に答える 2

10

スキーマのインスタンスをインスタンス化しようとしています。私なら、変えるね

User = new Schema({

UserSchema = new Schema({

そして後で電話で

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

そして最後に

var user = new User();
于 2011-06-13T04:06:24.737 に答える
1

スキーマ定義の後。

//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();
于 2013-01-02T11:18:33.203 に答える