truy vấn của tôi là:Làm cách nào để nhận được phủ nhận truy vấn MongoDB?
db.users.find({"username" : {$regex : ".*substring.*"}});
Thay vì nhận được tên người dùng có chứa 'xâu', tôi cần tên người dùng mà không chứa nó.
truy vấn của tôi là:Làm cách nào để nhận được phủ nhận truy vấn MongoDB?
db.users.find({"username" : {$regex : ".*substring.*"}});
Thay vì nhận được tên người dùng có chứa 'xâu', tôi cần tên người dùng mà không chứa nó.
Đối với điều này, bạn có thể sử dụng $ không điều hành:
db.test.find({ username: { $not: /substring/ } });
Giống như trong:
> db.test.insert({ username: "Derick Rethans" });
> db.test.insert({ username: "Hannes Magunusson" });
> db.test.find({ username: { $not: /ag/ } });
{ "_id" : ObjectId("511258b36879ad400c26084f"), "username" : "Derick Rethans" }
Tuy nhiên, bạn cần phải lưu ý rằng biểu thức thông thường và việc sử dụng các Nhà điều hành $ không ngăn các chỉ mục không thể sử dụng được. Nếu bạn cần phải thực hiện truy vấn này rất thường xuyên, bạn có thể muốn có một cái nhìn tốt về thiết kế lược đồ của bạn.
Bạn đã thử toán tử '$ not' chưa? –
$ không hoạt động tốt, cảm ơn! – Ognjen