2016-03-07 69 views
0

这个问题不是关于投射特定的领域。 我正在经历一些相当离奇的MongoDB行为。 考虑一下:如何强制MongoDB(3.0.4)显示特定的字段值?

db.call_data.findOne()

{ 
    "_id" : ObjectId("56dddbda8a09bc202b05fb47"), 
    "FIELD1" : "ASINC0000710793", "HPD_SUBMITTER" : "blah", 
    "person_id" : "PPL000000021124", 
    "Resolved_date" : "2014-04-17 05:07:19.000", 
    "owner_group" : "Service Desk - Incident Management Team", 
    "submitter" : "blah", "submit_date" : "2014-04-17 05:07:32.000", 
    "reported_date" : "2014-04-17 05:06:06.000", 
    "Call_Duration" : 86, "resolution_category" : "NULL", 
    "resolution_category_tier_2" : "NULL", 
    "resolution_category_tier_3" : "NULL", 
    "CATEGORIZATION_TIER_1" : "Application", 
    "CATEGORIZATION_TIER_2" : "System", 
    "CATEGORIZATION_TIER_3" : "Single User Affected", 
    "Description" : "VDI unable to logon", 
    "Escalated" : "NULL" 
} 

然后,当我发出db.call_data.distinct("FIELD1"),我得到[ ]

或者,如果我发出db.call_data.find({FIELD1: 'ASINC0000710793'}),我得不到任何回报。

我该如何处理?

+0

只是为了澄清--FIELD1之前没有空格,因为它出现在我的例子中。那只是一个复制/粘贴 –

+0

的工件,你在FIELD1前面有一个空格 - 否则它来自哪里?如果它不在那里,请幽默我们,再次剪切并粘贴它。或者运行db.call_data.distinct(“FIELD1”) –

+0

你是对的。我已经创建了一个要点,并且,当我粘贴JSON时,我再次注意到了该空间,它并未出现在JSON视图中:https://gist.github.com/eugene-goldberg/874de39ba1bed24a6457 –

回答

2

Json字符串aka键或字段名称可以合法地在它们中有空格。看起来你的领先空间很难找到。通过在查询中使用引用字段确认它将有所帮助。

相关问题