Node.js 将猫鼬与先前存在的猫鼬集合连接
我已经查了一段时间了,我被卡住了。我也一个问题一个问题地问了一遍,然后试了试,但一直没能让它运行起来 以下是我的项目的简要概述: 我有一个python脚本,每天从服务器上的一些日志中解析数据。每个日志都是一个python对象,它存储在一个集合中,在mongoDB的db“stabilitylogs”中具有相应的日期 我现在已经安装了node和mongoose,我正试图从一个名为-130702的特定集合中提取这些数据。我得到以下错误: C:\node\u app\node\u modules\mongodb\lib\mongodb\connection\server.js:570 犯错误; ^ ReferenceError:未定义架构 我的stabilitylog.js如下所示:Node.js 将猫鼬与先前存在的猫鼬集合连接,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我已经查了一段时间了,我被卡住了。我也一个问题一个问题地问了一遍,然后试了试,但一直没能让它运行起来 以下是我的项目的简要概述: 我有一个python脚本,每天从服务器上的一些日志中解析数据。每个日志都是一个python对象,它存储在一个集合中,在mongoDB的db“stabilitylogs”中具有相应的日期 我现在已经安装了node和mongoose,我正试图从一个名为-130702的特定集合中提取这些数据。我得到以下错误: C:\node\u app\node\u modules\mon
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上运行我的整个应用程序,安装了mongodb 2.2.4版,带有MSI安装程序和nodeJS-v0.10.12。我通过编写package.json文件,使用npm安装安装了mongodb和mongoose模块
非常感谢您的帮助。另外,如果需要更多信息,请告诉我 除非您已经拥有
var Schema=mongoose.Schema
在您的文件中,您需要像JohnnyHK所说的那样使用new mongoose.Schema
。此外,如果希望立即执行查询,mongoose模型上的查询应该是这样的
doc.find({}, function(err,collection){
//do something with the collection
});
尝试
newmongoose.Schema
而不是newschema
@JohnnyHK:谢谢。它似乎还不起作用!:/这似乎不起作用(我尝试检查它是否能够从db中提取数据。我得到一个“0”作为收集长度,即使它不是空的。我哪里出错了?var MongoClient=require('mongodb')。MongoClient;//连接到db MongoClient.connect(“mongodb://localhost:27017//test,函数(err,db){if(!err){console.log(“我们已连接”);var collection=db.collection('movies');collection.find().toArray(函数(err,items){console.log(items.length);}}});
很抱歉格式化了!我不知道如何正确编辑它。