MongoDB performance, borderline of client-side & server-side, performance tips












0















I came across these questions when I am designing the collections for my project.



I read it from somewhere before saying that better do most of the calculation at the client side. the reason because MongoDB computation will slow down the response. But I don't really understand where is the borderline of client-side or server-side.



Question




  1. I am writing APIs, so are the js files that are used to response the JSON is counted as client-side or server-side?

  2. The ionic app typescript side is counted as client-side right?

  3. The js file that use to write APIs, where will they be stored when production? at the server in MongoDB?


Which is better in performance?




  1. Use query e.g '$gt' or '$lt' to get the filtered data from MongoDB and send the response back to the client.

  2. Get the unfiltered list and filter them e.g using lodash, and send the response back to the client.










share|improve this question


















  • 1





    Which is better performance is not really the question here. The real indicator is that if you actually think you need to ask the question and could possibly fit your collection result in memory to be "filtered" by lodash or similar, then you are basically wasting time using a database of any kind in the first place. This is not what database engines are used for. Your primary reason for usage is that such results could not possibly be worked in memory, because that is what a database does well.

    – Neil Lunn
    Nov 20 '18 at 4:49











  • Thanks for replying, so you are suggesting to get all the filtered result in the query right?

    – Thomas Kim
    Nov 20 '18 at 5:16
















0















I came across these questions when I am designing the collections for my project.



I read it from somewhere before saying that better do most of the calculation at the client side. the reason because MongoDB computation will slow down the response. But I don't really understand where is the borderline of client-side or server-side.



Question




  1. I am writing APIs, so are the js files that are used to response the JSON is counted as client-side or server-side?

  2. The ionic app typescript side is counted as client-side right?

  3. The js file that use to write APIs, where will they be stored when production? at the server in MongoDB?


Which is better in performance?




  1. Use query e.g '$gt' or '$lt' to get the filtered data from MongoDB and send the response back to the client.

  2. Get the unfiltered list and filter them e.g using lodash, and send the response back to the client.










share|improve this question


















  • 1





    Which is better performance is not really the question here. The real indicator is that if you actually think you need to ask the question and could possibly fit your collection result in memory to be "filtered" by lodash or similar, then you are basically wasting time using a database of any kind in the first place. This is not what database engines are used for. Your primary reason for usage is that such results could not possibly be worked in memory, because that is what a database does well.

    – Neil Lunn
    Nov 20 '18 at 4:49











  • Thanks for replying, so you are suggesting to get all the filtered result in the query right?

    – Thomas Kim
    Nov 20 '18 at 5:16














0












0








0








I came across these questions when I am designing the collections for my project.



I read it from somewhere before saying that better do most of the calculation at the client side. the reason because MongoDB computation will slow down the response. But I don't really understand where is the borderline of client-side or server-side.



Question




  1. I am writing APIs, so are the js files that are used to response the JSON is counted as client-side or server-side?

  2. The ionic app typescript side is counted as client-side right?

  3. The js file that use to write APIs, where will they be stored when production? at the server in MongoDB?


Which is better in performance?




  1. Use query e.g '$gt' or '$lt' to get the filtered data from MongoDB and send the response back to the client.

  2. Get the unfiltered list and filter them e.g using lodash, and send the response back to the client.










share|improve this question














I came across these questions when I am designing the collections for my project.



I read it from somewhere before saying that better do most of the calculation at the client side. the reason because MongoDB computation will slow down the response. But I don't really understand where is the borderline of client-side or server-side.



Question




  1. I am writing APIs, so are the js files that are used to response the JSON is counted as client-side or server-side?

  2. The ionic app typescript side is counted as client-side right?

  3. The js file that use to write APIs, where will they be stored when production? at the server in MongoDB?


Which is better in performance?




  1. Use query e.g '$gt' or '$lt' to get the filtered data from MongoDB and send the response back to the client.

  2. Get the unfiltered list and filter them e.g using lodash, and send the response back to the client.







node.js mongodb ionic-framework database-design






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 20 '18 at 4:38









Thomas KimThomas Kim

6317




6317








  • 1





    Which is better performance is not really the question here. The real indicator is that if you actually think you need to ask the question and could possibly fit your collection result in memory to be "filtered" by lodash or similar, then you are basically wasting time using a database of any kind in the first place. This is not what database engines are used for. Your primary reason for usage is that such results could not possibly be worked in memory, because that is what a database does well.

    – Neil Lunn
    Nov 20 '18 at 4:49











  • Thanks for replying, so you are suggesting to get all the filtered result in the query right?

    – Thomas Kim
    Nov 20 '18 at 5:16














  • 1





    Which is better performance is not really the question here. The real indicator is that if you actually think you need to ask the question and could possibly fit your collection result in memory to be "filtered" by lodash or similar, then you are basically wasting time using a database of any kind in the first place. This is not what database engines are used for. Your primary reason for usage is that such results could not possibly be worked in memory, because that is what a database does well.

    – Neil Lunn
    Nov 20 '18 at 4:49











  • Thanks for replying, so you are suggesting to get all the filtered result in the query right?

    – Thomas Kim
    Nov 20 '18 at 5:16








1




1





Which is better performance is not really the question here. The real indicator is that if you actually think you need to ask the question and could possibly fit your collection result in memory to be "filtered" by lodash or similar, then you are basically wasting time using a database of any kind in the first place. This is not what database engines are used for. Your primary reason for usage is that such results could not possibly be worked in memory, because that is what a database does well.

– Neil Lunn
Nov 20 '18 at 4:49





Which is better performance is not really the question here. The real indicator is that if you actually think you need to ask the question and could possibly fit your collection result in memory to be "filtered" by lodash or similar, then you are basically wasting time using a database of any kind in the first place. This is not what database engines are used for. Your primary reason for usage is that such results could not possibly be worked in memory, because that is what a database does well.

– Neil Lunn
Nov 20 '18 at 4:49













Thanks for replying, so you are suggesting to get all the filtered result in the query right?

– Thomas Kim
Nov 20 '18 at 5:16





Thanks for replying, so you are suggesting to get all the filtered result in the query right?

– Thomas Kim
Nov 20 '18 at 5:16












0






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',
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
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53386332%2fmongodb-performance-borderline-of-client-side-server-side-performance-tips%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































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.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53386332%2fmongodb-performance-borderline-of-client-side-server-side-performance-tips%23new-answer', 'question_page');
}
);

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







Popular posts from this blog

Guess what letter conforming each word

Port of Spain

Run scheduled task as local user group (not BUILTIN)