2011-11-05 16 views
10

Tôi đã học một số thứ mongodb và nó khá tuyệt vời!

Tôi quyết định thử nó với mongoose trong nút và nhận ra rằng tôi không biết làm thế nào để chạy một lệnh hoặc, vì vậy tôi tra cứu cách bạn sẽ làm một lệnh hoặc trong mongoose thường xuyên và thấy rằng truy vấn tương tự như sau:

db.meh.find ({$ hoặc: [{a: 3}, {b: 4}]});

Và đó dường như làm việc tuyệt vời với chương trình dòng lệnh cho việc tìm kiếm tất cả các đơn vị, nơi một == 3 hoặc b == 4

Nhưng ... Làm thế nào tôi có thể làm điều này trong mongoose?

Bất kỳ trợ giúp nào được đánh giá cao !!

Note Tôi cũng muốn để có thể làm điều này với phương pháp findOne(), nhưng tôi giả định rằng nó sẽ đóng vai trò chỉ giống như find() với một giới hạn về nó

+2

Chào mừng bạn đến với StackOverflow Zimm! – WrightsCS

+2

Chào mừng bạn đến với SO Zimm! –

Trả lời

26

Nó nên giống nhau ở người chăn cừu.

SomeObjects.find({$or : [{a: 3}, {b: 4}]}); 

Note Tôi cũng muốn để có thể làm điều này với findOne() phương pháp, nhưng tôi giả định rằng nó sẽ đóng vai trò chỉ giống như find() với một giới hạn trên it

Vâng, điều đó cũng có tác dụng.

+0

Aha! Cảm ơn người đàn ông !!! Không chắc chắn tại sao tôi không nghĩ về điều đó ngay lập tức O.o – DanZimm

+0

xin lỗi tôi không thể làm bạn, tôi quá n00b: P – DanZimm

+0

Mongoose thực sự tốt đẹp vì bạn chỉ có thể sử dụng các truy vấn như trong trình bao MongoDB. – alessioalex

2

tôi không nghĩ rằng bạn cần phải tìm bất cứ điều gì ở đây như cầy mangut có người giúp đỡ cho rằng (không chắc chắn nếu điều này là trường hợp tại thời điểm bài viết mặc dù):

query.or([{ color: 'blue' }, { color: 'red' }]);

mongoose query doc

Các vấn đề liên quan