我想执行以下查询:

db.mycollection.find(HAS IMAGE URL)

正确的语法应该是什么?


当前回答

在pymongo中,你可以使用:

db.mycollection.find({"IMAGE URL":{"$ne":None}});

因为pymongo将mongo null表示为python None。

其他回答

查询将是

db.mycollection.find({"IMAGE URL":{"$exists":"true"}})

它将返回所有具有“IMAGE URL”作为密钥的文档...........

在pymongo中,你可以使用:

db.mycollection.find({"IMAGE URL":{"$ne":None}});

因为pymongo将mongo null表示为python None。

在理想情况下,您希望测试所有三个值,null、""或空(记录中不存在字段)

您可以执行以下操作。

db.users.find({$and: [{"name" : {$nin: ["", null]}}, {"name" : {$exists: true}}]})

检查mongo compass中列是否存在的最简单方法是:

{ 'column_name': { $exists: true } }

有一句话是最好的:

db.mycollection.find({ 'fieldname' : { $exists: true, $ne: null } });

在这里,

我的收藏:放置你想要的收藏名称

Fieldname:放置你想要的字段名

解释:

$exists:当为true时,$exists匹配包含该字段的文档,包括字段值为空的文档。如果为false,则查询只返回不包含该字段的文档。

$ne选择字段值不等于指定值的文档。这包括不包含该字段的文档。

所以在你提供的情况下,下面的查询将返回所有imageurl字段存在且非空值的文档:

db.mycollection.find({ 'imageurl' : { $exists: true, $ne: null } });