Tôi đã biết rằng tất nhiên. và SPACE không được phép. Có những nhân vật bị cấm khác không?Những ký tự nào KHÔNG được phép trong các tên trường MongoDB?
Trả lời
Bạn có thể sử dụng bất kỳ ký tự (UTF8) nào trong tên trường không phải là đặc biệt (chứa "." Hoặc bắt đầu bằng "$").
https://jira.mongodb.org/browse/SERVER-3229
https://stackoverflow.com/a/7976235/311220
Đó là nói chung tốt nhất để gắn bó với chữ viết thường với dấu gạch mặc dù.
Điều gì về thông số kỹ thuật của sản phẩm? Nó sẽ không đơn giản hóa thiết kế rất nhiều nếu tên trường là mô tả đặc điểm kỹ thuật thực tế? (Ví dụ: 'Kích thước màn hình': '26 inch'') – Dor
Không nhất thiết, @Dor - bạn muốn có một chút linh hoạt giữa giao diện người dùng và cơ sở dữ liệu của bạn (không có gì thay đổi như một khách hàng: "Đợi đã, tôi muốn nó nói 'Kích thước Hiển thị', không phải 'Kích thước Màn hình' "). Và tất nhiên, có cả một phần quốc tế hóa của câu đố, đòi hỏi phải tách nó quá. Nhân tiện, khi Acorn nói 'bất kỳ UTF8' nào, bao gồm không gian, vì vậy bạn hoàn toàn OK ở đó, nếu bạn muốn. –
Làm cách nào để xử lý các từ được gắn camel như 'userDetails'? Điều này có hợp lệ không? –
Một cái gì đó khác để tìm ra là bạn có thể đặt tên thuộc tính được gọi là "truy vấn" nhưng sau đó sử dụng toán tử truy vấn trên đó, làm cho nó khó xử khi thực hiện một số lượng lớn truy vấn.
Ví dụ:
Chèn tài liệu với một tài sản mang tên
db.coll.insert({ query: 'foo' });
Bình đẳng truy vấn hoạt động:
db.coll.findOne({ query: 'foo' });
Không bằng ($ ne) không:
db.coll.findOne({ query: { $ne: 'bar' } });
Điểm tốt. Nhưng bạn vẫn có thể thực hiện truy vấn đó dưới dạng 'db.coll.findOne ({query: {query: {$ ne: 'bar'}}})'. Vì vậy, nó không phải là không thể, nhưng nó là vụng về. – JohnnyHK
Cảm ơn, tôi đã không nhận ra điều đó là không thể cho đến sau khi tôi đăng bài này. Chắc chắn là khó xử hơn. – Dave
Tính đến thời điểm 3.2 (phát hành cuối năm 2015) điều này đã được khắc phục. –
- 1. Những ký tự nào được phép cho các toán tử haskell?
- 2. Những ký tự nào được cho phép trong thẻ bắt đầu bằng # twitter?
- 3. Những ký tự nào được phép trong Khóa Máy ứng dụng của Google?
- 4. Các ký tự được phép trong tên miền phụ là gì?
- 5. URL HTTP - các ký tự được phép trong tên thông số
- 6. Những ký tự nào hợp lệ/không hợp lệ trong tên khóa JSON?
- 7. Các quy tắc tốt nhất để làm theo những gì các ký tự cho phép trong mật khẩu là gì?
- 8. (và các ký tự unicode khác) trong định danh không được phép bởi g ++
- 9. Các trường được lồng với mongodb
- 10. Các trường _id mặc định cho các tài liệu MongoDB luôn có 24 ký tự hex?
- 11. Giới hạn số ký tự được phép trong trường văn bản nhập biểu mẫu
- 12. Mongodb lập chỉ mục các trường nhúng (ký hiệu chấm)
- 13. Những ký tự nào phải được thoát trong chuỗi truy vấn HTTP?
- 14. Khắc phục cho 'Chuỗi ký tự' - "không được phép trong các nhận xét". ngoại lệ?
- 15. Không cho phép ký tự trong mật khẩu?
- 16. Tại sao ORACLE không cho phép các ký tự dòng mới liên tiếp trong các lệnh?
- 17. PHP chuỗi không cho phép < and > ký tự
- 18. hạn chế ký tự được đặt trong trường Textinput
- 19. Các ký tự được cho phép trong thuộc tính 'nội dung CSS'?
- 20. Các ký tự được mã hóa Base64 Ký tự
- 21. Không được phép truy vấn trên admin.system.namespaces trên mongodb
- 22. Khuôn khổ tập hợp MongoDB - Đổi tên trường động
- 23. Tôi có thể khôi phục các ký tự quốc tế được lưu trữ nhầm trong trường varchar không?
- 24. Những ký tự nào còn lại cho trang-tokens?
- 25. Cập nhật Mongodb. setOnInsert Mod on _id không được phép
- 26. Chấp nhận các ký tự tên quốc tế trong RegEx
- 27. Tại sao lớp học giỏ hàng codeigniter không cho phép bất kỳ ký tự đặc biệt nào trong tên?
- 28. Ký tự được phép cho số nhận dạng CSS
- 29. Các ký tự bất thường ngoài $ được cho phép trong số nhận dạng JavaScript là gì?
- 30. Ký tự đại diện dấu chấm Mongodb dot?
tương tự câu hỏi: http://stackoverflow.com/a/797 6235/311220 – Acorn
SPACE được cho phép. –