Which is more reliable to use object representation or String in Firestore
I have a Firebase Firestore collection of products (125 and growing). Each product document has about 18 properties (name, price, stock etc). I can get all the documents successfully using:
val product = document.toObject(Product::class.java)
but I can use:
val name = document.getString("name")
Which is more recommended?

add a comment |
I have a Firebase Firestore collection of products (125 and growing). Each product document has about 18 properties (name, price, stock etc). I can get all the documents successfully using:
val product = document.toObject(Product::class.java)
but I can use:
val name = document.getString("name")
Which is more recommended?

Thank you all!!
– Divyansh Jayesh
Nov 22 '18 at 14:55
add a comment |
I have a Firebase Firestore collection of products (125 and growing). Each product document has about 18 properties (name, price, stock etc). I can get all the documents successfully using:
val product = document.toObject(Product::class.java)
but I can use:
val name = document.getString("name")
Which is more recommended?

I have a Firebase Firestore collection of products (125 and growing). Each product document has about 18 properties (name, price, stock etc). I can get all the documents successfully using:
val product = document.toObject(Product::class.java)
but I can use:
val name = document.getString("name")
Which is more recommended?


edited Nov 22 '18 at 14:54
Frank van Puffelen
239k29382408
239k29382408
asked Nov 22 '18 at 13:30
Divyansh JayeshDivyansh Jayesh
154
154
Thank you all!!
– Divyansh Jayesh
Nov 22 '18 at 14:55
add a comment |
Thank you all!!
– Divyansh Jayesh
Nov 22 '18 at 14:55
Thank you all!!
– Divyansh Jayesh
Nov 22 '18 at 14:55
Thank you all!!
– Divyansh Jayesh
Nov 22 '18 at 14:55
add a comment |
2 Answers
2
active
oldest
votes
According to your actual structure where you have only 125 items, you can use each one you want. If your collection will grow so much as it will contain a very large number of documents, there might be a reasons why you should not use the first approach. Cloud Firestore uses reflection, so in case of very large number of documents, your app might become a little bit slower.
Further more, if you only need to display one or two properties, why to get them all? So if you only really need a subset of the fields, just use the second approach.
So even if we talk about a small data set (maybe it's not your case) but I have seen data that was not formated properly in a way the developer want.
add a comment |
While developing, I often find it more convenient to use the direct accessor methods of the Document
class to get the fields from a document. During this time I'm still figuring out what precise fields and types each entity has.
If/once all documents have the same fields, and your data model is fairly stable, I'd recommend defining a Product
class to model the fields from the document in Java/Kotlin code.
add a comment |
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',
autoActivateHeartbeat: false,
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
});
}
});
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
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53432097%2fwhich-is-more-reliable-to-use-object-representation-or-string-in-firestore%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
According to your actual structure where you have only 125 items, you can use each one you want. If your collection will grow so much as it will contain a very large number of documents, there might be a reasons why you should not use the first approach. Cloud Firestore uses reflection, so in case of very large number of documents, your app might become a little bit slower.
Further more, if you only need to display one or two properties, why to get them all? So if you only really need a subset of the fields, just use the second approach.
So even if we talk about a small data set (maybe it's not your case) but I have seen data that was not formated properly in a way the developer want.
add a comment |
According to your actual structure where you have only 125 items, you can use each one you want. If your collection will grow so much as it will contain a very large number of documents, there might be a reasons why you should not use the first approach. Cloud Firestore uses reflection, so in case of very large number of documents, your app might become a little bit slower.
Further more, if you only need to display one or two properties, why to get them all? So if you only really need a subset of the fields, just use the second approach.
So even if we talk about a small data set (maybe it's not your case) but I have seen data that was not formated properly in a way the developer want.
add a comment |
According to your actual structure where you have only 125 items, you can use each one you want. If your collection will grow so much as it will contain a very large number of documents, there might be a reasons why you should not use the first approach. Cloud Firestore uses reflection, so in case of very large number of documents, your app might become a little bit slower.
Further more, if you only need to display one or two properties, why to get them all? So if you only really need a subset of the fields, just use the second approach.
So even if we talk about a small data set (maybe it's not your case) but I have seen data that was not formated properly in a way the developer want.
According to your actual structure where you have only 125 items, you can use each one you want. If your collection will grow so much as it will contain a very large number of documents, there might be a reasons why you should not use the first approach. Cloud Firestore uses reflection, so in case of very large number of documents, your app might become a little bit slower.
Further more, if you only need to display one or two properties, why to get them all? So if you only really need a subset of the fields, just use the second approach.
So even if we talk about a small data set (maybe it's not your case) but I have seen data that was not formated properly in a way the developer want.
answered Nov 22 '18 at 13:43


Alex MamoAlex Mamo
44.7k82862
44.7k82862
add a comment |
add a comment |
While developing, I often find it more convenient to use the direct accessor methods of the Document
class to get the fields from a document. During this time I'm still figuring out what precise fields and types each entity has.
If/once all documents have the same fields, and your data model is fairly stable, I'd recommend defining a Product
class to model the fields from the document in Java/Kotlin code.
add a comment |
While developing, I often find it more convenient to use the direct accessor methods of the Document
class to get the fields from a document. During this time I'm still figuring out what precise fields and types each entity has.
If/once all documents have the same fields, and your data model is fairly stable, I'd recommend defining a Product
class to model the fields from the document in Java/Kotlin code.
add a comment |
While developing, I often find it more convenient to use the direct accessor methods of the Document
class to get the fields from a document. During this time I'm still figuring out what precise fields and types each entity has.
If/once all documents have the same fields, and your data model is fairly stable, I'd recommend defining a Product
class to model the fields from the document in Java/Kotlin code.
While developing, I often find it more convenient to use the direct accessor methods of the Document
class to get the fields from a document. During this time I'm still figuring out what precise fields and types each entity has.
If/once all documents have the same fields, and your data model is fairly stable, I'd recommend defining a Product
class to model the fields from the document in Java/Kotlin code.
answered Nov 22 '18 at 14:53
Frank van PuffelenFrank van Puffelen
239k29382408
239k29382408
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
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
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53432097%2fwhich-is-more-reliable-to-use-object-representation-or-string-in-firestore%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
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
Required, but never shown
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
Required, but never shown
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
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Thank you all!!
– Divyansh Jayesh
Nov 22 '18 at 14:55