Jika Anda hanya menginginkan nomor telepon yang dimulai dari nomor '3', Anda dapat menggunakan keputusan cerdas @mstearn , di sini hanya c# realisasi:
var query = Query.EQ("PhoneNumber", new BsonRegularExpression("^3"));
Tetapi katakanlah jika Anda memerlukan kueri 3 angka pertama dalam rentang 345 -- 369 untuk membuatnya berfungsi (tanpa operator lambat:$where
, $regex
) Anda dapat membuat bidang tambahan dan menyimpan di sana 3 nomor pertama (kode area) telepon. Dan kemudian gunakan kueri yang diajukan oleh @yi _H , ini lagi realisasi driver c#:
var query = Query.GTE("PhoneAreaCode", 345).LTE(369);
Tidak peduli dengan tambahan bidang di mongodb -- ini adalah praktik umum. Bidang ekstra biasanya bekerja lebih cepat daripada penghitungan apa pun selama kueri.