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.
node.js mongodb mongodb-query loopback
New contributor
);
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
New contributor
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
);
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
New contributor
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
node.js mongodb mongodb-query loopback
New contributor
New contributor
edited Nov 9 at 5:14
New contributor
asked Nov 8 at 12:50
Annie
113
113
New contributor
New contributor
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
|
show 6 more comments
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
|
show 6 more comments
active
oldest
votes
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.
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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