要检索一组文档,其某些字段(如作者)是一组值中的任何一个,haskell的mongodb如何做到这一点?因为这对我来说并不明显。 感谢任何提示和帮助!
答案 0 :(得分:2)
如果您使用的是mongoDB软件包,请注意它接受任意文档为Selector。因此,您可以使用任何mongodb
支持,包括$in
:
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ExtendedDefaultRules #-}
import Database.MongoDB
import Control.Monad.IO.Class (liftIO)
main = do
pipe <- runIOE $ connect $ host "127.0.0.1"
e <- access pipe master "testdb" $ do
insertMany "test" [
["i" =: 1, "name" =: "Name1"],
["i" =: 2, "name" =: "Name2"],
["i" =: 3, "name" =: "Name3"]
]
rest =<< find (select ["i" =: ["$in" =: [1, 3]]] "test")
close pipe
print e
输出:
Right [[ _id: 52a9ea3008d0cf401e000000, i: 1, name: "Name1"],[ _id: 52a9ea3008d0cf401e000002, i: 3, name: "Name3"]]
与haskell和mongodb的快乐黑客攻击:)