2017-09-26 76 views
0

这是MongoDB中我的模式文档:MongoDB中获得文件的项目的价值

{ 
"_id" : UUID("236073ce-a583-4df4-ba7d-bda6db186d10"), 
"Lat" : "", 
"Lng" : "", 
"CreationDateTime" : ISODate("2017-09-26T06:39:29.105Z"), 
"DeviceId" : "89984320001499681815", 
"Topic" : "", 
"UserId" : UUID("bca0db12-2246-49a5-8703-b03fee45e50f"), 
"UserName" : "", 
"Data" : { 
    "AppVersion" : "", 
    "AppName" : "" 
}, 
"DeviceIdId" : , 
"FirstName" : " ", 
"LastName" : "", 
"AllowDomains" : "", 
"JobLocationName" : "" 
} 

我怎么能得到公正的DeviceID作为一个字符串?

我尝试这样做:

var result; 
db.getCollection('FinalLocation').find({}).forEach(function(u){ 
result = u.DeviceId; 
}); 

,但它是错误的。

+0

一般来说,它必须工作。你有什么错误吗?你确定你的收藏'FinalLocation'不是空的吗? –

+0

@VladimirKovpak我得到'脚本执行成功,但没有结果显示' – sayres

回答

1

请使用下面的代码(如果你想在robomongo显示)

 var result; 
     db.getCollection('FinalLocation').find({}, {DeviceId: 1}).forEach(function(u){ 
     result = u.DeviceId; 
     print(result); 
     }); 
+0

谢谢你的家伙。 'print(result);'是我的答案。 – sayres

0

使用此(如果我理解正确你的问题):

var result; 
db.getCollection('FinalLocation').find({}, {DeviceId: 1}).forEach(function(u){ 
result = u.DeviceId; 
}); 

,它将正常工作)

https://docs.mongodb.com/manual/tutorial/project-fields-from-query-results/

+0

我正在使用robomongo。如何将结果打印到我的屏幕?因为我得到了'脚本执行成功,但没有结果显示' – sayres

+0

嗯,可能是收集中没有数据? 您确定您拥有集合中的文档吗? –