我是mongodb和nodejs的新手。我創建模式,如:如何在貓鼬中套裝中定義模型和方法?
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
var ContactSchema = new Schema({
name : String,
email: String,
number : String
});
ContactSchema.methods.selectAll = function (callback){
console.log("I got list contact");
ContactModel.find({}).exec(function(err,items){
if(err)
console.error(err.stack);
else{
var notify = {
'message' : 'select all document successfully',
'data' : items,
'status' : 1
};
console.log(notify);
callback();
};
});
};
var ContactModel = mongoose.model('contactlist',ContactSchema);
module.exports = ContactModel;
假設我已經連接到數據庫'mongodb://localhost:27017/contactlist'
。它有一個數據庫名稱contactlist
,集合contactlist
一些文件
> db.contactlist.find({})
{ "_id" : ObjectId("576e8ac6d68807e6244f3cdb"), "name" : "Tome", "email" : "[email protected]", "number" : "333-333-333" }
{ "_id" : ObjectId("576e8b4fd68807e6244f3cdc"), "name" : "Trace", "email" : "[email protected]", "number" : "444-444-444" }
{ "_id" : ObjectId("576e8b4fd68807e6244f3cdd"), "name" : "Tuker", "email" : "[email protected]", "number" : "555-444-777" }
>
我的問題:
是什麼在
mongoose.model('ContactModel',ContactSchema);
正是'ContactModel'
立場?這是一個名稱自定義或完全名稱的集合在db中?- 我想創建模型的方法(CRUD任務)
ContactSchema.methods.selectAll = function(){ // code here }
這種方法可以選擇在集合中的所有文件mongo但我的ContactModel.find
函數返回null項。
$ node server
development server is running at 127.0.0.1 port 3000
I got list contact
{ message: 'select all document successfully',
data: [],
status: 1 }
undefined
我的意思是當我使用貓鼬find
api。怎麼做?