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

MongoException:không cho phép các khóa có độ dài bằng 0, bạn đã sử dụng $ với dấu ngoặc kép chưa?

Tôi vừa sửa lỗi này bằng cách sử dụng ID của đối tượng được tham chiếu thay vì chính đối tượng tham chiếu làm cụm từ tìm kiếm của tôi.

$_repo->findOneByCustomer($customer->getId());

CHỈNH SỬA:Điều đó không ném ra ngoại lệ nhưng nó cũng không thực sự trả lại bất cứ thứ gì. Tôi đã thử sử dụng MongoId mới ($ id) như được đề xuất ở một vài nơi ( Doctrine MongoDB tìm theo id ), nhưng điều đó cũng không hoạt động. Cuối cùng, tôi đã tìm thấy thứ gì đó trong trình tạo truy vấn đầy đủ tìm kiếm theo tham chiếu (lưu ý:điều này sử dụng đối tượng thay vì ID của đối tượng).

$dm->createQueryBuilder()->find('CantaoCustomerBundle:CustomerTags')
                         ->field('customer')->references($customer)
                         ->getQuery()->execute();

Tôi cảm thấy điều này nên được thực hiện đơn giản hơn (giống như bạn đã làm ban đầu), nhưng bản sửa lỗi này đang hoạt động với tôi.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Có cách nào để tạo codec Mongo tự động không?

  2. Tại sao kết nối với MongoDB từ Node.js chậm

  3. Làm thế nào để sử dụng tham chiếu db với Spring Data MongoDB phản ứng?

  4. 3 cách để trả lại giá trị khác biệt trong MongoDB

  5. PyMongo tạo chỉ mục duy nhất với 2 trường trở lên