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

Mongoose:ObjectId Comparisons không nhất quán

Một == thẳng (hoặc === ) so sánh sẽ so sánh hai đối tượng theo tham chiếu, không phải giá trị. Vì vậy, điều đó sẽ chỉ được đánh giá là true nếu cả hai đều tham chiếu đến cùng một trường hợp.

Thay vào đó, bạn nên sử dụng equals phương thức của ObjectID để so sánh các giá trị của chúng:

story._id.equals(offref.ref)

Như @bendytree lưu ý trong các nhận xét, nếu một trong hai giá trị có thể là giá trị rỗng (và bạn muốn các giá trị rỗng để so sánh là bằng nhau), thì bạn có thể sử dụng giá trị sau để thay thế:

String(story._id) === String(offref.ref)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách nhanh nhất để loại bỏ các tài liệu trùng lặp trong mongodb

  2. đẩy giá trị mới vào mảng bên trong mongodb - mongodb / php

  3. MongoDB - Chỉ mục không được sử dụng khi sắp xếp và giới hạn trên truy vấn phạm vi

  4. Cách chèn nhiều tài liệu cùng lúc trong MongoDB thông qua Java

  5. Cách tìm kiếm trong mảng đối tượng trong mongodb