loginradiusloginradius Blog

GUID Query Through Mongo Shell

If you have stored a GUID through the C# driver to mongoDB and now you want to run a query by GUID, you can't query directly because mongoDB doesn't recognize…

If you have stored a GUID through the C# driver to mongoDB and now you want to run a query by GUID, you can't query directly because mongoDB doesn't recognize GUID so when we query through mongo shell no result will be returned. To use the power of mongo shell for querying data on mongo by GUID, you should follow these steps.

1. Convert GUID data to Base64

Convert you GUID data to base64 , you can use any online tool for this.

So suppose your GUID is: 00112233-4455-6677-8899-aabbccddeeff

Then the base 64 version will be: MyIRAFVEd2aImaq7zN3u/w==

2. Query by BinData object in mongo shell

db.Users.find({"useUniqueId": new BinData(3,"MyIRAFVEd2aImaq7zN3u/w==")}).limit(1)

Actually BinData constructor takes 2 parameters:

New BinData(subtype,data)

  • Subtype: represent subdata type like we pass 3 for UUID or GUID
  • Data: base64 encoded string data

mongoDB's C# driver stores data to mongo by converting it into binary data rather than string.

Govind Malviya

Written by Govind Malviya

Director of Product Development @ LoginRadius. Technology lover, likes reading/writing, and creating new things.

0

LoginRadius CIAM Platform

Our Product Experts will show you the power of the LoginRadius CIAM platform, discuss use-cases, and prove out ROI for your business.

Book A Demo Today