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

Scotty sử dụng MongoDB

mongoDB đủ chung để hoạt động trong bất kỳ đơn nguyên nào là bản sao của MonadBaseControl IOMonadIO .

Ví dụ:bạn có thể chọn IO đơn nguyên. Trong trường hợp này, bạn cần liftIO . runQuery hành động bên trong của scotty:

import Web.Scotty
import Database.MongoDB
import qualified Data.Text.Lazy as T
import Control.Monad.IO.Class

runQuery :: Pipe -> Query -> IO [Document]
runQuery pipe query = access pipe master "nutrition" (find query >>= rest) 

main = do
  pipe <- connect $ host "127.0.0.1"
  scotty 3000 $ do
    get "/" $ do
      res <- liftIO $ runQuery pipe (select [] "stock_foods")
      text $ T.pack $ show res

Sau @Sebastian Philipp đã thêm MonadBaseControl ví dụ cho Scotty.ActionT , không cần phải nâng bất cứ thứ gì. Bạn có thể làm việc rõ ràng với scotty biểu mẫu mongoDB. Chỉ cần thay đổi chữ ký loại và thả liftIO s:

runQuery :: Pipe -> Query -> ActionM [Document]
...
    get "/" $ do
      res <- runQuery pipe (select [] "stock_foods")
      text $ T.pack $ show res



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB chiếu một subocument

  2. Truy vấn bitwise enum (cờ) bằng cách sử dụng trình điều khiển C # chính thức của MongoDB

  3. Trong NodeJS, làm thế nào để xuất kết quả từ mongodb với các tên trường khác nhau?

  4. Cách nhanh nhất để sao chép một bộ sưu tập trong cùng một cơ sở dữ liệu là gì?

  5. Làm cách nào để deserialize tài liệu json thu được từ mongoDB thành POJO? ... (Di chuyển từ Morphia sang Java Mongo Driver 3.0)