How to query MongoDB with “like”?

后端 未结 30 2140
予麋鹿
予麋鹿 2020-11-21 05:51

I want to query something with SQL\'s like query:

SELECT * FROM users  WHERE name LIKE \'%m%\'

How to do I achieve the same in

30条回答
  •  夕颜
    夕颜 (楼主)
    2020-11-21 06:30

    Use aggregation substring search (with index!!!):

    db.collection.aggregate([{
            $project : {
                fieldExists : {
                    $indexOfBytes : ['$field', 'string']
                }
            }
        }, {
            $match : {
                fieldExists : {
                    $gt : -1
                }
            }
        }, {
            $limit : 5
        }
    ]);
    

提交回复
热议问题