I have a mongoose Schema that looks like this:
var mySchema = new mongoose.Schema({
...
metadata: {
isDeleted: {
type: Boolean,
default: false
},
...
}
});
I want to get the list of elements in my mongodb database applying a filter, so I have the following object:
var searchOptions = { metadata: { isDeleted: false } };
that always needs to have that metadata.isDeleted
value set to false
, appart from other parameters that will be added later, before executing the query:
var objQuery = myModel.find(searchOptions, '-metadata');
At first, I had isDeleted
attribute outside my metadata
object in the Schema, and
var searchOptions = { isDeleted: false };
used to work perfectly. But it is since I decided to have isDeleted
inside my metadata
object that is not working and can't figure out why...
I have a mongoose Schema that looks like this:
var mySchema = new mongoose.Schema({
...
metadata: {
isDeleted: {
type: Boolean,
default: false
},
...
}
});
I want to get the list of elements in my mongodb database applying a filter, so I have the following object:
var searchOptions = { metadata: { isDeleted: false } };
that always needs to have that metadata.isDeleted
value set to false
, appart from other parameters that will be added later, before executing the query:
var objQuery = myModel.find(searchOptions, '-metadata');
At first, I had isDeleted
attribute outside my metadata
object in the Schema, and
var searchOptions = { isDeleted: false };
used to work perfectly. But it is since I decided to have isDeleted
inside my metadata
object that is not working and can't figure out why...
1 Answer
Reset to default 7It seems pretty likely given your use of elipsis in your schema listing that there are more properties than isDeleted
under the metadata
property. So your object should be:
var searchOptions = { "metadata.isDeleted": false } };
The reason for this is that otherwise the query is looking for a document with "exactly" and "only" the properties named under the metadata
key:
var searchOptions = { metadata: { isDeleted: false } };
And when that is not the case, then of course there is no match.
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745319496a4622376.html
评论列表(0条)