Tôi là người dùng Mac và tôi đã gặp lỗi này trong khi sử dụng Compass MongoDB, nhưng tôi đã giải quyết vấn đề này bằng cách kiểm tra địa chỉ IP trong mongod.config
[được đặt theo mặc định trên Mac tại
mongod --config mongod.config
0 nếu bạn sử dụng homebrew để cài đặt nó] và khởi chạy máy chủ bằng cách sử dụng nó tập tin cấu hình. Để chắc chắn rằng tôi đặt cấu hình sau [địa chỉ IP tùy thuộc vào những gì bạn đã thiết lập trong tệp mongod --config mongod.config
1]:net:
bindIp: 127.0.0.1,0.0.0.0
port: 27017
ipv6: false
Sau đó, ngay cả khi tôi ở trong thư mục có chứa tệp cấu hình, tôi phải chỉ định tệp cấu hình để bắt đầu dịch vụ MongoDB với dòng lệnh sau:
mongod --config mongod.config
Sau đó, tôi đã có thể kết nối thông qua la bàn MongoDB.
Hy vọng điều này giúp người dùng Mac đang tìm kiếm câu trả lời và cũng có thể là người dùng Windows vì bạn cũng có thể cần chỉ định tệp cấu hình đó ngay cả khi bạn là thư mục máy chủ MongoDB.
Điều đó sẽ phải là:
db.users.find[{"name": /.*m.*/}]
Hoặc tương tự:
db.users.find[{"name": /m/}]
Bạn đang tìm kiếm thứ gì đó chứa "M" ở đâu đó [toán tử '
mongod --config mongod.config
2' của SQL tương đương với các biểu thức chính quy '' mongod --config mongod.config
3 '], không phải thứ gì đó có "m" được neo vào đầu chuỗi.Lưu ý: MongoDB sử dụng các biểu thức chính quy mạnh hơn "như" trong SQL. Với các biểu thức thông thường, bạn có thể tạo bất kỳ mẫu mà bạn tưởng tượng. MongoDB uses regular expressions which are more powerful than "LIKE" in SQL. With regular expressions you can create any pattern that you imagine.
Để biết thêm thông tin về các biểu thức thông thường, hãy tham khảo các biểu thức chính quy [MDN].
Nếu tôi hiểu câu hỏi của bạn, bạn cần sắp xếp theo thứ tự tăng dần.
Giả sử bạn có một số trường ID hoặc trường ngày gọi là "x" bạn sẽ làm ...
.sort[]
db.foo.find[].sort[{x:1}];
1 sẽ sắp xếp tăng dần [từ lâu nhất đến mới nhất] và -1 sẽ sắp xếp giảm dần [mới nhất đến lâu đời nhất.]1 will sort ascending [oldest to newest] and -1 will sort descending [newest to oldest.]
Nếu bạn sử dụng trường _id đã tạo, nó có một ngày được nhúng trong đó ... để bạn có thể sử dụng nó để đặt hàng theo ..._id field it has a date embedded in it ... so you can use that to order by ...
db.foo.find[].sort[{_id:1}];
Điều đó sẽ trả lại tất cả các tài liệu của bạn được sắp xếp từ lâu đời nhất đến mới nhất.
Trật tự tự nhiên
Bạn cũng có thể sử dụng một đơn đặt hàng tự nhiên được đề cập ở trên ...
db.foo.find[].sort[{$natural:1}];
Một lần nữa, sử dụng 1 hoặc -1 tùy thuộc vào thứ tự bạn muốn.1 or -1 depending on the order you want.
Sử dụng .limit []
Cuối cùng, thực tế tốt để thêm giới hạn khi thực hiện loại truy vấn mở rộng này để bạn có thể thực hiện ...
db.foo.find[].sort[{_id:1}].limit[50];
hoặc
db.foo.find[].sort[{$natural:1}].limit[50];