小编pnd*_*pnd的帖子

如何显示IdeaVIM的当前模式?

我想在PyCharm或任何其他JetBrains IDE中使用IdeaVIM时看到我目前使用的Vim模式.

碰巧我用鼠标选择一个字符(例如,意外双击一个字母),然后光标在正常模式和视觉模式之间无法正确区分,这使得在敲击几个键后出现尴尬的情况.

有没有办法在状态栏或我错过的其他地方始终显示当前模式?

jetbrains-ide statusbar ideavim

14
推荐指数
1
解决办法
2921
查看次数

检查MongoDB文档中是否存在多个字段

我正在尝试查询一个数据库集合,该集合包含具有特定字段的那些文档的进程文档.为简单起见,请想象以下一般文档架构:

{
    "timestamp": ISODate("..."),
    "result1": "pass",
    "result2": "fail"
}
Run Code Online (Sandbox Code Playgroud)

现在,当启动进程时,将插入仅包含时间戳的新文档.当该过程达到某些阶段时,字段会随着时间的推移result1result2增加.一些过程但没有达到阶段12因而没有结果字段.

我想查询数据库只检索那些有两个result1和两个的文件result2.

我知道$ exists运算符,但据我所知,这只适用于一次一个字段,即db.coll.find({"result1": {$exists: true}}).该$exists运营商不能用作顶级运营商.例如,这并不能正常工作:

db.coll.find({"$exists": {"result1": true, "result2": true}})

要检查两个结果,我需要:

db.coll.find({"result1": {"$exists": true}, "result2": {"$exists": true}})

现在,对于多个变量已经变得乏味了.

有一个更好的方法吗?(另外,我在Python中这样做,所以如果只有pymongo驱动程序的解决方案会让我开心.)

python mongodb pymongo

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

dc.js barChart第一个和最后一个栏没有完全显示

我有一个带d3.time.scalex轴的barChart .我每小时显示一些数据,但使用时,第一个和最后一个数据点条总是减少一半centerBar(true).
(使用centerBar(false)最后一个栏时完全消失.)

时间窗口基于数据本身,计算如下:

var minDate = dateDim.bottom(1)[0]["timestamp"];
var maxDate = dateDim.top(1)[0]["timestamp"];

.x(d3.time.scale().domain([minDate, maxDate]));
Run Code Online (Sandbox Code Playgroud)

最后一行设置时间范围域使用min和maxDate.这是它的样子: dc.js barChart 1

我稍微增加了条宽,.xUnits(function(){return 60;})因为默认值很薄,第一个条在y轴内消失.

此外,我已经尝试通过减去/添加一小时到min/maxDate来更改域,但这会导致第一个栏的意外行为. 在此输入图像描述

我使用以下来计算偏移量:

minDate.setHours(minDate.getHours() - 1);
maxDate.setHours(maxDate.getHours() + 1);
Run Code Online (Sandbox Code Playgroud)

是否有修复或解决方法在第一个和最后一个栏之前添加填充?

d3.js dc.js

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

标签 统计

d3.js ×1

dc.js ×1

ideavim ×1

jetbrains-ide ×1

mongodb ×1

pymongo ×1

python ×1

statusbar ×1