Saya sedang mencari operator, yang memungkinkan saya untuk memeriksa, apakah nilai suatu bidang berisi string tertentu.
Sesuatu seperti:
db.users.findOne({$contains:{"username":"son"}})
Apakah itu mungkin?
Anda dapat melakukannya dengan kode berikut.
db.users.findOne({"username" : {$regex : ".*son.*"}});
db.users.findOne({"username" : {$regex : "son"}});
Sebagai Mongo shell mendukung regex, itu sangat mungkin.
Jika kami ingin kueri tidak peka huruf besar-kecil, kami dapat menggunakan opsi "i", seperti yang ditunjukkan di bawah ini:
Lihat: http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-RegularExpressions
sumber
db.users.findOne({"username" : /.*son.*/});
juga bisa berlebihan dan regex bisa sederhana/son/
{ username: /son/ }
https://docs.mongodb.com/manual/reference/sql-comparison/
http://php.net/manual/en/mongo.sqltomongo.php
MySQL
MongoDB
sumber
Pada versi 2.4, Anda dapat membuat indeks teks pada bidang untuk mencari dan menggunakan operator $ text untuk query.
Pertama, buat indeks:
db.users.createIndex( { "username": "text" } )
Lalu, untuk mencari:
db.users.find( { $text: { $search: "son" } } )
Benchmark (~ 150 ribu dokumen):
Catatan:
db.collection.createIndex( { "$**": "text" } )
.sumber
Karena ini adalah salah satu hit pertama di mesin pencari, dan tidak ada yang di atas tampaknya berfungsi untuk MongoDB 3.x, berikut adalah satu pencarian regex yang berfungsi:
Tidak perlu membuat dan indeks tambahan atau sama.
sumber
Inilah yang harus Anda lakukan jika Anda menghubungkan MongoDB melalui Python
Anda juga dapat menggunakan nama variabel alih-alih 'Son' dan oleh karena itu penggabungan string.
sumber
.*${value}.*
}Cara termudah untuk menyelesaikan tugas ini
Jika Anda ingin kueri menjadi peka huruf besar-kecil
Jika Anda ingin kueri tidak peka huruf besar-kecil
sumber
jawaban ideal indeks penggunaannya opsi i untuk case-sensitive
sumber
Ini harus melakukan pekerjaan
Itu
i
hanya ada untuk mencegah pembatasan pencocokan huruf tunggal.Anda dapat memeriksa dokumentasi $ regex pada dokumentasi MongoDB. Berikut ini tautannya: https://docs.mongodb.com/manual/reference/operator/query/regex/
sumber
Cara mengabaikan tag HTML dalam kecocokan RegExp:
Ini mungkin sangat mudah untuk berubah menjadi filter agregasi MongoDB.
sumber