实际上我的目标是找到每个类别花费的总时间,例如在解决方案中
或结算类别,请给我一个解决方案,我是mongoose的新手,所以我
不知道实现这个的正确方法(是否可以使用MapandReduce方法?)。
先谢谢。
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)
}*/
答案 0 :(得分:0)
Model.find
向集合查询与第一个参数中提供的条件匹配的文档。例如:
User.find({type: 'Sales'}, function (err, docs) { })
此示例查询将查找type
为Sales
的所有文档。回调接收一个可以迭代的游标。
但在你的情况下,甚至不需要致电find
。 Model#save
返回回调中的文档,因此您可以访问以下字段:
user.save(function(err, user) {
console.log(user.timesheet.categories);
});