MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

MongoDB không cho phép sử dụng '.' trong chìa khóa

Bạn có thể đặt check_keys thành Sai theo nguồn :

 test.insert(d,check_keys=False)


 def insert(self, doc_or_docs, manipulate=True,
           safe=None, check_keys=True, continue_on_error=False, **kwargs):

Nó thực sự hoạt động:

In [28]: d = {'.aaa' : '.bbb'}

In [29]: test.insert(d,check_keys=False)
Out[29]: ObjectId('54ea604bf9664e211e8ed4e6')

Chuỗi tài liệu cho biết:

Bạn dường như có thể sử dụng bất kỳ ký tự nào ngoài hai ký tự $ hoặc . vì vậy một dấu gạch dưới ở đầu hoặc bất kỳ ký tự nào khác sẽ ổn và có lẽ là một lựa chọn tốt hơn.

Có thông tin trong câu hỏi thường gặp về thoát :

Và câu hỏi thường gặp về ký hiệu dấu chấm giải thích lý do tại sao sử dụng . không phải là một ý kiến ​​hay:




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Không thể kéo từ mảng lồng nhau và truy vấn trả về tài liệu con bằng MongoTemplate

  2. Trạng thái MongoDB không thành công sau khi chỉnh sửa mongo.conf (đã thoát mã, trạng thái =2)

  3. Sửa đổi gián tiếp thuộc tính quá tải App \ Dossier ::$ program không có hiệu lực

  4. MongoDB - cấu trúc con và cha mẹ

  5. $ elemMatch tương đương trong mongodb dữ liệu mùa xuân