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…

Kundan Singh
By Kundan Singh
February 23, 2015
1 min read

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.

Kundan Singh

Written by Kundan Singh

Director of Product Development @ LoginRadius.

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