例如,如果我在redis中保留用户帖子的列表,例如用户有1000个帖子,并且帖子文档存储到mongodb中,但用户和帖子之间的链接存储在redis中,我可以保存数组包含来自redis的用户帖子的所有id,但是从mongodb检索它们的有效方法是什么?
我是否使用ids数组将参数传递给mongoDB,mongo会为我取这些参数吗?
如果有人愿意帮助我,我似乎没有找到任何关于此的文件!
提前感谢!
答案 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的查询。最好有较小的查询,但接受支付额外的往返费用。