MongoDB不返回字段

时间:2017-09-12 21:38:42

标签: mongodb mongodb-query

这一定是一个愚蠢的错误,但我找不到它。 当我运行db.getCollection('communes').findOne({})时, 我得到了:

{ "_id" : ObjectId("59b851a19db72301ae771c57"), "COMMUNE" : "ALAA6", "LIBGEO" : "ROHRBACH", "PAYS" : "Allemagne" }

这很好。

但是当我运行db.getCollection('communes').findOne({COMMUNE: "ALAA6"})时,它什么也没有返回!

由于奇怪的原因,对其他字段进行过滤是有效的,因此当我运行db.getCollection('communes').findOne({LIBGEO: "ROHRBACH"})时,它会返回结果。在"PAYS"上过滤同样的事情。

COMMUNE周围添加引号,即运行db.getCollection('communes').findOne({"COMMUNE": "ALAA6"})或使用find代替findOne不会改变任何内容。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

好的,我的错。该集合是从Excel导出创建的,似乎第一列包含一个奇怪的字符。从Robo3T客户端查询没有显示它,但从Python返回返回:

{'LIBGEO': 'ROHRBACH', 'PAYS': 'Allemagne', '_id': ObjectId('59b851a19db72301ae771c57'), '\ufeffCOMMUNE': 'ALAA6'}

所以显然\ufeff之前的COMMUNE字符应该被移除......