我已经看了一会儿,而且我被卡住了。我还提到了this问题和this问题并试了一下,但我还没能让它运行起来。
这是我项目的简要概述: 我有一个python脚本,每天解析服务器上某些日志的数据。每个日志都是一个python对象,它存储在一个集合中,相应的日期位于mongoDB的db'staticlogs'中。
我现在安装了node和mongoose,我试图从名为-130702的特定集合中提取这些数据。我收到以下错误:
C:\ node_app \ node_modules \ mongodb的\ lib中\ mongodb的\连接\ server.js:570
抛出错误; ^ ReferenceError:未定义架构
我的stablelog.js看起来像这样:
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/stabilitylogs');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function callback () {
var rackSchema=new Schema({
_id: {type: String },
Headend:{
Name: String,
Rack: {
TestInfo:{
ScriptStart: String,
TotalReboots: String,
ScriptLoopCount: String,
ScriptName: String,
ScriptStop: String,
SystemName: String,
TotalSTBs: String,
PerReboots: String,
RunTime: String,
BuildVer: String
},
StbData: [{
Status: String,
UpTime: String,
DBType: String,
IP: String,
DBVersion: String,
RebootData: String,
MAC: String,
MWApp: String,
OS: String
},],
Number: String
}
}
},
{collection: '130702'});
var doc = mongoose.model(rackschema, '130702');
doc.find();
});
我对此非常陌生,并确保我的代码中有很多错误,但我真的需要一些帮助。 我在Windows 7上运行我的整个应用程序 - 使用MSI安装程序和nodeJS - v0.10.12安装mongodb ver2.2.4。我通过编写package.json文件在npm install中安装了mongodb和mongoose模块。
非常感谢任何帮助。另外,如果需要更多信息,请告诉我。
答案 0 :(得分:1)
除非您的文件中已有var Schema = mongoose.Schema;
,否则您需要像JohnnyHK所说的那样使用new mongoose.Schema
。另外,如果你想让查询立即执行,那么mongoose模型上的find method看起来应该是这样的。
doc.find({}, function(err,collection){
//do something with the collection
});