我使用 MongoDB,拥有大约 100000 个条目的集合。
这些条目包含如下数据:
{"page": "page1", "user_count": 1400}
{"page": "page2", "user_count": 1100}
{"page": "page3", "user_count": 900}
...
Run Code Online (Sandbox Code Playgroud)
我想根据 user_count 输出条目的排名,例如:
#1 - page1
#2 - page2
#3 - page3
...
Run Code Online (Sandbox Code Playgroud)
...到目前为止,一切都很好。如果我只输出一个排序列表,我可以简单地使用循环计数器。
但我还必须支持各种搜索查询。例如,我得到 20 个结果,并想显示结果的排名。喜欢:
#432 - page1232
#32 - page223
#345 - page332
...
Run Code Online (Sandbox Code Playgroud)
最好的方法是什么?我真的不想将排名存储在集合中,因为集合不断变化。我尝试用我即时构建的查找字典来解决这个问题,但速度非常慢。MongoDB 是否有针对此类情况的特殊功能可以提供帮助?
我在Linux服务器上运行一个python脚本,其中包含nohup:
nohup python3 ./myscript.py > ./mylog.log &
Run Code Online (Sandbox Code Playgroud)
它工作,脚本写日志文件,但问题是python错误消息/抛出异常似乎没有写入日志文件.我怎么能实现这个目标?
这与stderr有关吗?(但是当我启动脚本时,它说:"nohup:将stderr重定向到stdout".)
这是一个长时间运行的脚本,过了一段时间,有时脚本因为某些问题而停止工作,并且缺少错误消息,我不知道为什么.问题总是在几天后发生,所以调试真的很麻烦.
编辑:它可能与flush有关吗?由于我自己的打印使用flush但可能python错误不会这样,一旦脚本中止它们就不会出现在文件中?