Nói cách khác, có cách nào để tua lại từ đầu?Có thể lặp lại con trỏ mongo hai lần không?
EDIT
Tôi đang sử dụng vỏ Mongo và pymongo.
Nói cách khác, có cách nào để tua lại từ đầu?Có thể lặp lại con trỏ mongo hai lần không?
EDIT
Tôi đang sử dụng vỏ Mongo và pymongo.
Ruby API có phương thức rewind!
thực hiện chính xác những gì bạn muốn.
Python API cũng có phương thức cursor.rewind()
.
PHP API cũng có phương thức cursor.rewind()
.
Tuy nhiên, cả API Java hoặc C++ đều không có phương thức tua lại. Tất cả có thể được tìm thấy từ official API page.
Con trỏ trong pymongo có phương thức .rewind()
, bạn có thể tham khảo sample code from previous question with answer that apply.
Native Mongo vỏ api, tuy nhiên, không cung cấp phương pháp như vậy, xem method help()
on DBQuery object prototype.:
> db.collection.find().help()
find() modifiers
.sort({...})
.limit(n)
.skip(n)
.count() - total # of objects matching query, ignores skip,limit
.size() - total # of objects cursor would return, honors skip,limit
.explain([verbose])
.hint(...)
.showDiskLoc() - adds a $diskLoc field to each returned object
Cursor methods
.forEach(func)
.map(func)
.hasNext()
.next()
Bạn có thể sử dụng cursor.reset();
Đối với PHP: $cursor->reset();
sau đó chạy foreach($cursorData as $data)
của bạn bất cứ lúc nào sau khi đặt lại.
Điều cần biết, nhưng tôi không sử dụng Ruby. – mark
@mark: thêm liên kết tới api python đã tua lại. – brice
Tôi không biết một trong hai API đó nhưng tôi tự hỏi nếu chúng là cả hai thủ thuật điều khiển - Đây có phải là cái gì đó được hỗ trợ bởi MongoDB natively –