Comments (2)
Thanks, that makes sense!
from mongo-rust-driver.
So the reason this behaves the way that it does is that std::result::Result
implements IntoIterator
via an iterator over the Ok
value (if any), and Collection::find
returns a Result<Cursor>
. What's happening here is that collection.find
is returning Err(<a server selection error>)
so the for in
loop doesn't execute its body because there are no Ok
values to iterate over. If you replace the for in
loop with collection.find(doc! {}, None).await.unrwrap()
you should see the error.
Note that async for in
loops aren't yet a part of the language, so you'll need to use a while
loop in conjunction with the methods provided by StreamExt
/ TryStreamExt
to iterate over cursors, like so:
use mongodb::{Client, Collection};
use mongodb::bson::{doc, Document};
use futures::stream::TryStreamExt;
#[tokio::main]
async fn main() {
let client = Client::with_uri_str("mongodb://obvious_garbage/?serverSelectionTimeoutMS=1000").await.unwrap();
let db = client.database("");
let collection: Collection<Document> = db.collection("");
let mut cursor = collection.find(doc! {}, None).await.unwrap();
while let Some(doc) = cursor.try_next().await.unwrap() {
println!("{:?}", doc);
}
}
Hope that makes sense; please let us know if you have any further questions!
from mongo-rust-driver.
Related Issues (20)
- No way to support OpenAPI data converstion HOT 2
- SOCKS5 support HOT 1
- Can we remove the "deprecated" status from `human_readable_serialization` in `CollectionOptions`? HOT 5
- Failure to parse hello response from server HOT 3
- Feature Request : need serializer, deserializer for Option<Datetime> HOT 1
- stack overflow when working with big structs HOT 4
- Modify a Validator HOT 2
- RUST-1908 `find_one_and_update` / `find_one_and_update_with_session` use human-readable BSON deserialization HOT 2
- Find() with filter works but find({}) to get all documents fails HOT 1
- The solution for balancing the load of read operations. HOT 1
- Infinite loop while parsing results from find({}, None) HOT 2
- RUST-1913 Compilation error when handling ErrorKind::GridFs HOT 1
- Find one options, projection method not working for inclusions. HOT 6
- How to serialize a hashmap into BSON? HOT 5
- Error: Kind: I/O error: Device or resource busy (os error 16) when using service.namespace.svc.cluster.local as host HOT 2
- Slow Build Times HOT 3
- Why aggregation methods return `Cursor<Document>` instead of `Cursor<T>`? HOT 5
- `.session(...)` builder func moves `&mut ClientSession` preventing it from being reused HOT 2
- Connecting to MongDB Atlas seems to take ~40s every time HOT 3
- centos7 try_next is error HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mongo-rust-driver.