2017-09-26 1 views
0

ceci est mon document de schéma dans MongoDB:MongoDB obtenir la valeur de l'objet d'un document

{ 
"_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" : "" 
} 

Comment pourrais-je obtenir juste DeviceId comme une chaîne?

J'ai essayé ceci:

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

mais il est faux.

+0

En général, cela doit fonctionner. Avez-vous une erreur? Êtes-vous sûr que votre collection 'FinalLocation' ne soit pas vide? –

+0

@VladimirKovpak J'ai 'Script exécuté avec succès, mais il n'y a aucun résultat à afficher» – sayres

Répondre

1

S'il vous plaît utilisez le code suivant (si vous voulez afficher dans robomongo)

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

merci mec. 'print (résultat);' était ma réponse. – sayres

0

Utilisez cette (si je comprends bien votre question):

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

Il fonctionnera bien)

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

+0

J'utilise robomongo .Comment pourrais-je imprimer le résultat dans mon écran? Parce que j'ai Script exécuté avec succès, mais il n'y a aucun résultat à afficher – sayres

+0

Hmm, peut-être qu'il n'y a pas de données dans la collection? Êtes-vous sûr de posséder des documents dans une collection? –