从redis列表中查询moongoDB

时间:2014-02-08 15:44:50

标签: mongodb redis

例如,如果我在redis中保留用户帖子的列表,例如用户有1000个帖子,并且帖子文档存储到mongodb中,但用户和帖子之间的链接存储在redis中,我可以保存数组包含来自redis的用户帖子的所有id,但是从mongodb检索它们的有效方法是什么?

我是否使用ids数组将参数传递给mongoDB,mongo会为我取这些参数吗?

如果有人愿意帮助我,我似乎没有找到任何关于此的文件!

提前感谢!

1 个答案:

答案 0 :(得分:1)

要为每个id检索许多文档,可以使用$ in运算符来构建MongoDB查询。请参阅文档中的以下部分:

http://docs.mongodb.org/manual/reference/operator/query/in/#op._S_in

例如,您可以构建一个查询,例如:

db.mycollection.find( { _id : { $in: [ id1, id2, id3, .... ] } } )

根据Redis将返回多少ID,您可能必须将它们分组为n个项目(例如n = 100)以运行多个MongoDB查询。 IMO,这是一个不好的做法,建立包含超过几千个ID的查询。最好有较小的查询,但接受支付额外的往返费用。