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

PHP code is not being executed, instead code shows on the page

Administrative divisions of China

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