【发布时间】:2015-10-23 19:49:24
【问题描述】:
我在 Mongoose DB 上创建了一个具有以下结构的文档:
{
"_id": {
"$oid": "55bb2c92e4b0759bdca17fdc"
},
"email": "Customer1@xyz.com",
"serviceType": "Electricity",
"month": "JAN",
"year": "2015",
"bill": [
{
"PeakMsmt": "1",
"OffPeakMsmt": "2",
"Week": "Week1",
"WeekEndTimeStamp": "2015-10-10T00:00:00.000Z"
},
{
"PeakMsmt": "2",
"OffPeakMsmt": "3",
"Week": "Week2",
"WeekEndTimeStamp": "2015-11-10T00:00:00.000Z"
},
{
"PeakMsmt": "3",
"OffPeakMsmt": "4",
"Week": "Week3",
"WeekEndTimeStamp": "2015-12-10T00:00:00.000Z"
}
]
}
我的 Node.JS 代码是:
var mongoose = require("mongoose");
mongoose.connect('mongodb://MY_MONGO_DB_URL');
var oub = require('./OptimizeUtilityBill');
oub.find({email:'Customer1@xyz.com',serviceType:'Electricity',month:'FEB',year:'2015'},function(err,oubDBResult){
if(err){
console.log("Error: "+err);
}else{
console.log("OUB result: "+oubDBResult);
}
});
我在节点 JS 中的猫鼬模式是:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var OptimizeUtilityBillSchema = new Schema({
email:String,
serviceType:String,
month:String,
year:String,
bill:[{PeakMsmt:String,
OffPeakMsmt:String,
Week:String,
WeekEndTimeStamp:String}]
});
module.exports = mongoose.model('optimizeUtilityBill', OptimizeUtilityBillSchema);
请帮忙,我是 node.JS 和 mongoose 的新手。 我花了几个小时试图让它工作,并且在谷歌上搜索了很多关于 Mongoose 模式的信息。但无法查询 mongoose。
当我运行这个程序时,我得到以下结果:
【问题讨论】:
-
你可以试试 FindOne。如果我没记错的话 Find 会返回一个光标。
-
尝试了 findOne,结果为空。虽然在猫鼬中,我正在寻找我正在寻找的人。
-
@user3769778 您的示例文档来自的集合是否准确命名为
optimizeutilitybills?如果不是,这看起来像是 stackoverflow.com/questions/14183611/… 的骗子。 -
@JohnnyHK 是的,我的 mongoDB 文档名称是复数形式的
optimizeUtilityBills -
@JohnnyHK 甚至尝试过小写不工作