Model:
var UserSchema = new Schema({
username: String,
userLog: [
{
name: String,
logflag: Boolean,
logTime: Date
}
],
});
mongoose.model('User', UserSchema);
Sample Documents:
{
"name" : User_1,
"userLog" : [
{
"_id" : ObjectId("598ac4ac4cd6945012e3eac9"),
"name" : "Start",
"logflag" : true,
"logTime" : "06:00"
},
{
"_id" : ObjectId("598ac4ac4cd6945012e3eaca"),
"name" : "Mid Day",
"logTime" : "12:00",
"logflag" : false
},
{
"_id" : ObjectId("598ac4ac4cd6945012e3eacb"),
"name" : "End",
"logflag" : false,
"logTime" : "18:00"
}
]
},
{
"name" : User_2,
"userLog" : [
{
"_id" : ObjectId("5989c1ec498267d015ca33c9"),
"name" : "Start",
"logflag" : true,
"logTime" : "18:00"
},
{
"_id" : ObjectId("5989c1ec498267d015ca33ca"),
"name" : "End",
"logflag" : true,
"logTime" : "06:00"
}
]
}
I am looking for a query that retrieves Users that have ALL 'logflags' set to true (or NO logflag set to false). The array has variable number of objects.
In the above example, the query would return User_2.
I have tried the following:
User.find({ "userLog.logflag": {$ne: false}})
which does not work.
Any ideas? Thanks!