小编ram*_*ami的帖子

在mongodb中存储upvotes/downvotes

我有一个收集PostsUsers用户可以给予好评/ downvote每个岗位.将此存储在mongodb数据库中以确保用户不能多次为给定文档投票的最佳方法是什么?

我想出了被存储user_ids数组每个谁投里面最简单的NoSQL上下的解决方案Post的文件(甚至阵列的(user_id, vote)地方vote是+1或-1,这样用户就可以改变他们的投票).从表现的角度来看这是一个好主意,因为每个帖子都有数千张选票吗?

那些真正受欢迎的网站如Reddit,哪些热门帖子可以有数十万票?

database-design mongodb

9
推荐指数
2
解决办法
2218
查看次数

在groovy中序列化闭包

我正在Groovy开发游戏,我正在考虑广泛使用闭包来使架构更清洁.例如,要实现状态效果(例如中毒),Player对象将具有执行每个游戏回合的闭包列表.保存游戏时必须将这些序列化.

将闭包存储在需要序列化的对象中通常是个好主意吗?或者我应该选择更传统的架构(例如存储StatusEffect对象列表)?

groovy serialization closures

5
推荐指数
1
解决办法
2032
查看次数

即使在索引字段上,mongodb $ all和$也很慢

我有大约8000万个文档的集合,每个文档都在tags现场存储一系列标记,例如:

{text: "blah blah blah...", tags: ["car", "auto", "automobile"]}
Run Code Online (Sandbox Code Playgroud)

该字段tags已编入索引,因此像这样的查询几乎是即时的:

 db.documents.find({tags:"car"})
Run Code Online (Sandbox Code Playgroud)

但是,以下查询都非常慢,需要几分钟才能完成:

 db.documents.find({tags:{$all:["car","phone"]}})
 db.documents.find({tags:{$in:["car","auto"]}})
Run Code Online (Sandbox Code Playgroud)

即使阵列只有一个项目,问题仍然存在:

 db.documents.find({tags:{$all:["car"]}})  //very slow too
Run Code Online (Sandbox Code Playgroud)

我认为$ all和$ in应该能够非常快速地工作,因为它tags被编入索引,但显然事实并非如此.为什么?

mongodb

5
推荐指数
1
解决办法
2266
查看次数

Lupa可以用来在python中运行不受信任的lua代码吗?

假设我LuaRuntime使用register_eval=False和创建一个attribute_filter阻止访问除了一些python函数之外的任何东西.假设lua代码无法做到os.system("rm -rf *")或类似的事情是否安全?

python lua lupa

4
推荐指数
1
解决办法
1470
查看次数

标签 统计

mongodb ×2

closures ×1

database-design ×1

groovy ×1

lua ×1

lupa ×1

python ×1

serialization ×1