I would like to execute a following query:
db.mycollection.find(HAS IMAGE URL)
What should be the correct syntax?
One liner is the best :
db.mycollection.find({ 'fieldname' : { $exists: true, $ne: null } });
Here,
mycollection : place your desired collection name
fieldname : place your desired field name
Explaination :
$exists : When is true, $exists matches the documents that contain the field, including documents where the field value is null. If is false, the query returns only the documents that do not contain the field.
$ne selects the documents where the value of the field is not equal to the specified value. This includes documents that do not contain the field.
So in your provided case following query going to return all the documents with imageurl field exists and having not null value:
db.mycollection.find({ 'imageurl' : { $exists: true, $ne: null } });