Node.js 创建架构并检索mongoose嵌套对象数组值
实际上,我的目标是找出每个类别(例如在解决方案中)花费的总时间 或计费类别,请给我一个解决方案,我是新的猫鼬,所以我 不知道实现这一点的正确方法(是否可以使用MapandReduce方法?) 提前谢谢Node.js 创建架构并检索mongoose嵌套对象数组值,node.js,mongoose,Node.js,Mongoose,实际上,我的目标是找出每个类别(例如在解决方案中)花费的总时间 或计费类别,请给我一个解决方案,我是新的猫鼬,所以我 不知道实现这一点的正确方法(是否可以使用MapandReduce方法?) 提前谢谢 userSchema = mongoose.Schema({ username: { type: String, required: true }, type: String,
userSchema = mongoose.Schema({
username: {
type: String,
required: true
},
type: String,
timesheet: {
created: {
type: Date
},
categories: [{
catname: String,
cusname: String,
hours: Number
}]
}
});
var User = mongoose.model('User', userSchema);
module.exports = function (app) {
var usr = {
username: "Ardrew",
type: "Billing",
timesheet: {
created: new Date('2014-06-04'),
categories: [{
catname: "Solution",
cusname: "IBM",
hours: 8
}, {
catname: "Solution",
cusname: "AT&T",
hours: 4
}, {
catname: "Sales",
cusname: "AT&T",
hours: 4
}]
}
}
var user = new User(usr);
user.save(function (err, user) {
});
/* User.find({"timesheet.categories.catname":"Solution"},function(err,result){
console.log(result)
}*/
在集合中查询与第一个参数中提供的条件匹配的文档。例如:
User.find({type: 'Sales'}, function (err, docs) { })
此示例查询将查找type
为Sales
的所有文档。回调函数接收一个可以迭代的游标
但在您的情况下,甚至不需要调用find
。返回回调中的文档,因此您可以访问如下字段:
user.save(function(err, user) {
console.log(user.timesheet.categories);
});
当我试图安慰结果时,它是未定义的,这就是问题所在。如何使用find方法获取类别的值。console.log(user.timesheet.categories);-->undefined@user3737613这段代码应该可以工作,您真的不需要使用find。能否尝试添加
console.log(err)
以检查是否存在错误?另外,user
在回调中的值是多少?您还可以添加控制台.log(用户)
?它可以工作!谢谢你宝贵的时间。我需要计算销售类别花费的总小时数。请帮我解决这个问题@用户3737613请提出一个新问题,很难在评论中回答。当然,我会提出一个新问题