Get Inspire insights from former attendees in our AMA discussion thread on Inspire Buzz. ACEs and other community members are on call all week to answer!

Alteryx Server Knowledge Base

Definitive answers from Server experts.

How To : Query MongoDB efficiently


How To: Query MongoDB efficiently


Looking for specific elements in MongoDB can sometimes be challenging.

This article provides a few commands to retrieve data (and look like a pro especially during a call with a customer).




  • Alteryx Server
    • The server is up and running
    • Access to the Alteryx System Settings to retrieve the Non-Admin password for MongoDB
    • Minimal knowledge of the MongoDB structure
  • Command Prompt/cmd.exe with Administrator rights
  • Robo3T (Optional - for those who prefer a visual explorer for MongoDB)


Useful queries


Composition of a MongoDB query :


a. Retrieving an object in a collection, knowing its Id


Example : Find a workflow in the AlteryxGallery database (appInfos collection)


Version 1 :

db.getCollection('appInfos').find({"_id" : ObjectId("5cc30b2a18e70c230c2b5e9f")})


Version 2 :




b. Retrieving an object in a collection, using any other field


Example 1:Find users in the AlteryxGallery database by first name (users collection)


db.getCollection('users').find({"FirstName" : "Paul"})


Example 2:Find a user in the AlteryxGallery database by email address (users collection)



db.getCollection('users').find({"Email" : ""})



c. Perform a logical 'AND' to search using multiple criteria


Example:Find a user in the AlteryxGallery database based on their first name and last name (users collection)


db.getCollection('users').find({$and: [{"FirstName" : "Jane"}, {"LastName" : "Doe"}]})


d. Perform a logical 'OR' to search using multiple criteria


Example:For Windows Auth only - Make sure users information have been retrieved from Windows AD (windowsIdentityscollection)


db.getCollection('windowsIdentitys').find({$or: [{"Name" : "SRC\\sfraticelli"}, {"Name" : "SRC\\jdowe"}]})

* the '\' has to be added twice to be escaped


e. Retrieving the object added last in a collection



Example:Find the last added object in the AlteryxGallery database (versionscollection)


f. Query based on a relative date (objects created in the last X days, as an example)**

This queries the selected Collection relative to a date in milliseconds - you can see this is taking 30 days and converting it into milliseconds: 30 * 24 * 60 * 60 * 1000
You can enter any equation that results in milliseconds.
**This query can only be performed against "true" datetime/date type fields. Currently, the AlteryxGallery and AlteryxGallery_Lucene databases have datetime values. AlteryxService database stores all dates as String types, so this query will not work.

db.getCollection('sessions').find({ "CreationDate": {  $gt: new Date(new Date() - 30 * 24 * 60 * 60 * 1000 ) } })

Example: Find the sessions created in the last 30 days.


BONUS - Text Matching — Contains, Starts / Ends With — Regular Expression


Example 1: Find a collection in the AlteryxGallery database whose name contains "test" (collections collection)


db.getCollection('collections').find({"Name" : /test/})


Example 2:Find a collection in the AlteryxGallery database whose name starts with "test" (collections collection)


db.getCollection('collections').find({"Name" : /^test/})


Example 3: Find a collection in the AlteryxGallery database whose name ends with "test" (collectionscollection)


db.getCollection('collections').find({"Name" : /test$/})



Additional Resources



Fun Fact


  • Orcas (formerly known as killer whales), are actually dolphins - source
Alteryx Alumni (Retired)

Don't forget $in

as shown about half-way down on this page.

Finding multiple by Id.
Find 1:
Find 2:
db.getCollection('appInfos').find({$or: [{"_id":ObjectId("6053a66b28a5cf09dc0928d8")},{"_id":ObjectId("6061d34a28a5cf35ac5f24d7")}]})
Find 3:
db.getCollection('appInfos').find({$or: [{"_id":ObjectId("6053a66b28a5cf09dc0928d8")},{"_id":ObjectId("6061d34a28a5cf35ac5f24d7")},{"_id":ObjectId("60d5fca428a5cf46987fe669")}]})