How to search text in MongoDB

3 views (last 30 days)
Thomas Dufresne
Thomas Dufresne on 27 Feb 2020
Edited: Ralf Elsas on 7 Apr 2020
MongoDB allows you search for a word in the database
db.articles.find( { $text: { $search: "coffee" } } )
There doesn't seem to be an equivalent in matlab's interface to MongoDB.
Any thoughts on how to search for a string in the database?

Answers (1)

Nipun Katyal
Nipun Katyal on 3 Mar 2020
Make sure you have a proper installation of MongoDB and the corresponding support packages in matlab
To connect to an existing database here is the link to the documentation
To connect to an existing database
server = "dbtb01";
port = 27017;
dbname = "mongotest";
conn = mongo(server,port,dbname)
To execute a search query
collection = "employee";
mongoquery = '{"department":"Sales"}';
documents = find(conn,collection,'Query',mongoquery);
  4 Comments
Thomas Dufresne
Thomas Dufresne on 6 Mar 2020
Thanks for your response. I was hoping to find a way that can actually search the database first for the occurrence of a text string, as opposed to pulling everything into matlab and then searching for a text string within a structure. It appears that MongoDB can search for a string within the database, but that not feature is not available in the matlab implementation.
Ralf Elsas
Ralf Elsas on 7 Apr 2020
Edited: Ralf Elsas on 7 Apr 2020
Hi, I was just bothering with the same problem.
A solution I have found is to use the $regex command in the find function:
mongoquery = '{"label": {$regex: "pay"}}'
finds all documents where the text variable "label" contains "pay", using find(conn,collection,'Query',mongoquery).
Hope this helps.

Sign in to comment.

Products


Release

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!