How to apply fields filter on nested object in loopback model query?









up vote
1
down vote

favorite












I have this data on mongodb in a table named "Alerts" in geojson format




"_id" : ObjectId("5be40b8099d5b81e6115d517"),
"title" : "Real-time earthquake",
"priority" : "high",
"status" : NumberInt("1"),
"extAlertData" :
"type" : "Feature",
"properties" :
"mag" : 4.11,
"place" : "12km S of Tres Pinos, CA",
"time" : 1541163534230,
,
"geometry" :
"type" : "Point",
"coordinates" : [
-121.3146667,
36.6801667,
6.48
]
,
"id" : "nc73105276"



"_id" : ObjectId("5be401c39b9e021a4c1a5c80"),
"title" : "Real-time earthquake",
"priority" : "high",
"status" : NumberInt("1"),
"extAlertData" :
"type" : "Feature",
"properties" :
"mag" : 4.5,
"place" : "107km NW of Tobelo,
Indonesia",
"time" : 1541665816710,
,
"geometry" :
"type" : "Point",
"coordinates" : [
127.2763,
2.3671,
31.55
]
,
"id" : "us1000hp6t"




I want to retrieve the field "id" which is nested inside "extAlertData" using model query.



Following query does not working.



db.Alerts.find(fields : "extAlertData.id": true,
function (err, Alerts)
//process alert extAlertData.id

});


Query is retrieving the following error:



TypeError: Cannot read property 'id' of undefined


How can I query using fields filter in mongoDB? I am using loopback framework of node js.



Thanks in advance.










share|improve this question









New contributor




Annie is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.















  • 1




    You need to use $exists if you are looking to check the existence of 'id' filed db.Alerts.find( 'extAlertData.id': $exists: true). And i guess the part 'fields : ' i wrong in your query
    – Avij
    Nov 8 at 13:41










  • Sorry. I am not looking for existence of 'id' field in db. I have array of similar object in the given format as specified in the question.I am trying to get all "extAlertData.id" and save to an array.
    – Annie
    Nov 8 at 13:59










  • Then you need to check if it exists in the record and then project it
    – Avij
    Nov 8 at 14:02










  • can you please help me with the query? How to specify to get all "extAlertData.id"
    – Annie
    Nov 8 at 14:06






  • 1




    @AnthonyWinzlet . It's working.I got the expected output.Thank you so much
    – Annie
    Nov 9 at 5:38













share|improve this question









New contributor




Annie is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.















  • 1




    You need to use $exists if you are looking to check the existence of 'id' filed db.Alerts.find( 'extAlertData.id': $exists: true). And i guess the part 'fields : ' i wrong in your query
    – Avij
    Nov 8 at 13:41










  • Sorry. I am not looking for existence of 'id' field in db. I have array of similar object in the given format as specified in the question.I am trying to get all "extAlertData.id" and save to an array.
    – Annie
    Nov 8 at 13:59










  • Then you need to check if it exists in the record and then project it
    – Avij
    Nov 8 at 14:02










  • can you please help me with the query? How to specify to get all "extAlertData.id"
    – Annie
    Nov 8 at 14:06






  • 1




    @AnthonyWinzlet . It's working.I got the expected output.Thank you so much
    – Annie
    Nov 9 at 5:38













share|improve this question









New contributor




Annie is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











I have this data on mongodb in a table named "Alerts" in geojson format




"_id" : ObjectId("5be40b8099d5b81e6115d517"),
"title" : "Real-time earthquake",
"priority" : "high",
"status" : NumberInt("1"),
"extAlertData" :
"type" : "Feature",
"properties" :
"mag" : 4.11,
"place" : "12km S of Tres Pinos, CA",
"time" : 1541163534230,
,
"geometry" :
"type" : "Point",
"coordinates" : [
-121.3146667,
36.6801667,
6.48
]
,
"id" : "nc73105276"



"_id" : ObjectId("5be401c39b9e021a4c1a5c80"),
"title" : "Real-time earthquake",
"priority" : "high",
"status" : NumberInt("1"),
"extAlertData" :
"type" : "Feature",
"properties" :
"mag" : 4.5,
"place" : "107km NW of Tobelo,
Indonesia",
"time" : 1541665816710,
,
"geometry" :
"type" : "Point",
"coordinates" : [
127.2763,
2.3671,
31.55
]
,
"id" : "us1000hp6t"




I want to retrieve the field "id" which is nested inside "extAlertData" using model query.



Following query does not working.



db.Alerts.find(fields : "extAlertData.id": true,
function (err, Alerts)
//process alert extAlertData.id

});


Query is retrieving the following error:



TypeError: Cannot read property 'id' of undefined


How can I query using fields filter in mongoDB? I am using loopback framework of node js.



Thanks in advance.







node.js mongodb mongodb-query loopback






share|improve this question









New contributor




Annie is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




Annie is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited Nov 9 at 5:14





















New contributor




Annie is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked Nov 8 at 12:50









Annie

113




113




New contributor




Annie is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Annie is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Annie is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







  • 1




    You need to use $exists if you are looking to check the existence of 'id' filed db.Alerts.find( 'extAlertData.id': $exists: true). And i guess the part '{fields : ' i wrong in your query
    – Avij
    Nov 8 at 13:41










  • Sorry. I am not looking for existence of 'id' field in db. I have array of similar object in the given format as specified in the question.I am trying to get all "extAlertData.id" and save to an array.
    – Annie
    Nov 8 at 13:59










  • Then you need to check if it exists in the record and then project it
    – Avij
    Nov 8 at 14:02










  • can you please help me with the query? How to specify to get all "extAlertData.id"
    – Annie
    Nov 8 at 14:06






  • 1




    @AnthonyWinzlet . It's working.I got the expected output.Thank you so much
    – Annie
    Nov 9 at 5:38












  • 1




    You need to use $exists if you are looking to check the existence of 'id' filed db.Alerts.find( 'extAlertData.id': $exists: true). And i guess the part '{fields : ' i wrong in your query
    – Avij
    Nov 8 at 13:41










  • Sorry. I am not looking for existence of 'id' field in db. I have array of similar object in the given format as specified in the question.I am trying to get all "extAlertData.id" and save to an array.
    – Annie
    Nov 8 at 13:59










  • Then you need to check if it exists in the record and then project it
    – Avij
    Nov 8 at 14:02










  • can you please help me with the query? How to specify to get all "extAlertData.id"
    – Annie
    Nov 8 at 14:06






  • 1




    @AnthonyWinzlet . It's working.I got the expected output.Thank you so much
    – Annie
    Nov 9 at 5:38







1




1




You need to use $exists if you are looking to check the existence of 'id' filed db.Alerts.find( 'extAlertData.id': $exists: true). And i guess the part '{fields : ' i wrong in your query
– Avij
Nov 8 at 13:41




You need to use $exists if you are looking to check the existence of 'id' filed db.Alerts.find( 'extAlertData.id': $exists: true). And i guess the part '{fields : ' i wrong in your query
– Avij
Nov 8 at 13:41












Sorry. I am not looking for existence of 'id' field in db. I have array of similar object in the given format as specified in the question.I am trying to get all "extAlertData.id" and save to an array.
– Annie
Nov 8 at 13:59




Sorry. I am not looking for existence of 'id' field in db. I have array of similar object in the given format as specified in the question.I am trying to get all "extAlertData.id" and save to an array.
– Annie
Nov 8 at 13:59












Then you need to check if it exists in the record and then project it
– Avij
Nov 8 at 14:02




Then you need to check if it exists in the record and then project it
– Avij
Nov 8 at 14:02












can you please help me with the query? How to specify to get all "extAlertData.id"
– Annie
Nov 8 at 14:06




can you please help me with the query? How to specify to get all "extAlertData.id"
– Annie
Nov 8 at 14:06




1




1




@AnthonyWinzlet . It's working.I got the expected output.Thank you so much
– Annie
Nov 9 at 5:38




@AnthonyWinzlet . It's working.I got the expected output.Thank you so much
– Annie
Nov 9 at 5:38

















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);






Annie is a new contributor. Be nice, and check out our Code of Conduct.









 

draft saved


draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53208107%2fhow-to-apply-fields-filter-on-nested-object-in-loopback-model-query%23new-answer', 'question_page');

);

Post as a guest



































active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes








Annie is a new contributor. Be nice, and check out our Code of Conduct.









 

draft saved


draft discarded


















Annie is a new contributor. Be nice, and check out our Code of Conduct.












Annie is a new contributor. Be nice, and check out our Code of Conduct.











Annie is a new contributor. Be nice, and check out our Code of Conduct.













 


draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53208107%2fhow-to-apply-fields-filter-on-nested-object-in-loopback-model-query%23new-answer', 'question_page');

);

Post as a guest














































































Popular posts from this blog

𛂒𛀶,𛀽𛀑𛂀𛃧𛂓𛀙𛃆𛃑𛃷𛂟𛁡𛀢𛀟𛁤𛂽𛁕𛁪𛂟𛂯,𛁞𛂧𛀴𛁄𛁠𛁼𛂿𛀤 𛂘,𛁺𛂾𛃭𛃭𛃵𛀺,𛂣𛃍𛂖𛃶 𛀸𛃀𛂖𛁶𛁏𛁚 𛂢𛂞 𛁰𛂆𛀔,𛁸𛀽𛁓𛃋𛂇𛃧𛀧𛃣𛂐𛃇,𛂂𛃻𛃲𛁬𛃞𛀧𛃃𛀅 𛂭𛁠𛁡𛃇𛀷𛃓𛁥,𛁙𛁘𛁞𛃸𛁸𛃣𛁜,𛂛,𛃿,𛁯𛂘𛂌𛃛𛁱𛃌𛂈𛂇 𛁊𛃲,𛀕𛃴𛀜 𛀶𛂆𛀶𛃟𛂉𛀣,𛂐𛁞𛁾 𛁷𛂑𛁳𛂯𛀬𛃅,𛃶𛁼

Edmonton

Crossroads (UK TV series)