Lookups in MongoDB



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















I have multiple lookups in pipeline mongo query. if any populate field is undefined I don't want to omit this row. can I do this?



const pipeline = [
$unwind: "$wholesaler" ,

$lookup:
from: "serviceproviders",
localField: "serviceProvider",
foreignField: "_id",
as: "serviceProvider"

,
$unwind: "$serviceProvider" ,

$sort:
createdAt: 1,
updatedAt: 1


];


If service provider id is not found its return rest of the object that what I want.










share|improve this question
























  • Can you please provide a sample document?

    – rodrigoap
    Nov 15 '18 at 14:29

















0















I have multiple lookups in pipeline mongo query. if any populate field is undefined I don't want to omit this row. can I do this?



const pipeline = [
$unwind: "$wholesaler" ,

$lookup:
from: "serviceproviders",
localField: "serviceProvider",
foreignField: "_id",
as: "serviceProvider"

,
$unwind: "$serviceProvider" ,

$sort:
createdAt: 1,
updatedAt: 1


];


If service provider id is not found its return rest of the object that what I want.










share|improve this question
























  • Can you please provide a sample document?

    – rodrigoap
    Nov 15 '18 at 14:29













0












0








0








I have multiple lookups in pipeline mongo query. if any populate field is undefined I don't want to omit this row. can I do this?



const pipeline = [
$unwind: "$wholesaler" ,

$lookup:
from: "serviceproviders",
localField: "serviceProvider",
foreignField: "_id",
as: "serviceProvider"

,
$unwind: "$serviceProvider" ,

$sort:
createdAt: 1,
updatedAt: 1


];


If service provider id is not found its return rest of the object that what I want.










share|improve this question
















I have multiple lookups in pipeline mongo query. if any populate field is undefined I don't want to omit this row. can I do this?



const pipeline = [
$unwind: "$wholesaler" ,

$lookup:
from: "serviceproviders",
localField: "serviceProvider",
foreignField: "_id",
as: "serviceProvider"

,
$unwind: "$serviceProvider" ,

$sort:
createdAt: 1,
updatedAt: 1


];


If service provider id is not found its return rest of the object that what I want.







mongodb aggregation-framework lookup






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 15 '18 at 16:16









Hardik Shah

1,7422824




1,7422824










asked Nov 15 '18 at 14:25







user8590996



















  • Can you please provide a sample document?

    – rodrigoap
    Nov 15 '18 at 14:29

















  • Can you please provide a sample document?

    – rodrigoap
    Nov 15 '18 at 14:29
















Can you please provide a sample document?

– rodrigoap
Nov 15 '18 at 14:29





Can you please provide a sample document?

– rodrigoap
Nov 15 '18 at 14:29












1 Answer
1






active

oldest

votes


















0














From MongoDB document:




preserveNullAndEmptyArrays



If true, if the path is
null, missing, or an empty array, $unwind outputs the document. If
false, $unwind does not output a document if the path is null,
missing, or an empty array.



The default value is false.




So use below:




$unwind:
path: "$serviceProvider",
"preserveNullAndEmptyArrays": true




Check here with sample data (https://mongoplayground.net/p/aljWODXfwQg)






share|improve this answer

























    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%2f53321579%2flookups-in-mongodb%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown
























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    From MongoDB document:




    preserveNullAndEmptyArrays



    If true, if the path is
    null, missing, or an empty array, $unwind outputs the document. If
    false, $unwind does not output a document if the path is null,
    missing, or an empty array.



    The default value is false.




    So use below:




    $unwind:
    path: "$serviceProvider",
    "preserveNullAndEmptyArrays": true




    Check here with sample data (https://mongoplayground.net/p/aljWODXfwQg)






    share|improve this answer





























      0














      From MongoDB document:




      preserveNullAndEmptyArrays



      If true, if the path is
      null, missing, or an empty array, $unwind outputs the document. If
      false, $unwind does not output a document if the path is null,
      missing, or an empty array.



      The default value is false.




      So use below:




      $unwind:
      path: "$serviceProvider",
      "preserveNullAndEmptyArrays": true




      Check here with sample data (https://mongoplayground.net/p/aljWODXfwQg)






      share|improve this answer



























        0












        0








        0







        From MongoDB document:




        preserveNullAndEmptyArrays



        If true, if the path is
        null, missing, or an empty array, $unwind outputs the document. If
        false, $unwind does not output a document if the path is null,
        missing, or an empty array.



        The default value is false.




        So use below:




        $unwind:
        path: "$serviceProvider",
        "preserveNullAndEmptyArrays": true




        Check here with sample data (https://mongoplayground.net/p/aljWODXfwQg)






        share|improve this answer















        From MongoDB document:




        preserveNullAndEmptyArrays



        If true, if the path is
        null, missing, or an empty array, $unwind outputs the document. If
        false, $unwind does not output a document if the path is null,
        missing, or an empty array.



        The default value is false.




        So use below:




        $unwind:
        path: "$serviceProvider",
        "preserveNullAndEmptyArrays": true




        Check here with sample data (https://mongoplayground.net/p/aljWODXfwQg)







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Nov 15 '18 at 14:47

























        answered Nov 15 '18 at 14:40









        Hardik ShahHardik Shah

        1,7422824




        1,7422824





























            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%2f53321579%2flookups-in-mongodb%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

            Use pre created SQLite database for Android project in kotlin

            Darth Vader #20

            Ondo