TonyGen / mongoDB-haskell

MongoDB driver for Haskell
http://hackage.haskell.org/package/mongoDB
Apache License 2.0
57 stars 14 forks source link

structured (type-safe) queries. #19

Open gregwebs opened 12 years ago

gregwebs commented 12 years ago

BSON is just an AList, which is find. However, MongoDB has specific semantics not captured in allowing arbitrary strings. The current driver will let you throw anything at it and hopefully report an error. We need a structure built by data constructors: Set instead of "$set", etc.

This might be a cumbersome or inefficient way to construct queries. However, this query data type can be used to validate a query at compile time instead of being a direct interface for the user (I would be willing to create such a package).

MongoDB is fairly well documented for an end user figuring out how to make a query, but we really need to know the same grammar that MongoDB uses. Can you provide this?

TonyGen commented 12 years ago

You should ask about the grammar on the mongo mailing list. From what I've seen there is no formal grammar, it is implicit in the code (inside switch statements and other conditionals).

Feel free to create a package for type safe queries. It would be great.

Cheers, Tony