我想在PyCharm或任何其他JetBrains IDE中使用IdeaVIM时看到我目前使用的Vim模式.
碰巧我用鼠标选择一个字符(例如,意外双击一个字母),然后光标在正常模式和视觉模式之间无法正确区分,这使得在敲击几个键后出现尴尬的情况.
有没有办法在状态栏或我错过的其他地方始终显示当前模式?
我正在尝试查询一个数据库集合,该集合包含具有特定字段的那些文档的进程文档.为简单起见,请想象以下一般文档架构:
{
"timestamp": ISODate("..."),
"result1": "pass",
"result2": "fail"
}
Run Code Online (Sandbox Code Playgroud)
现在,当启动进程时,将插入仅包含时间戳的新文档.当该过程达到某些阶段时,字段会随着时间的推移result1而result2增加.一些过程但没有达到阶段1或2因而没有结果字段.
我想查询数据库只检索那些有两个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驱动程序的解决方案会让我开心.)
我有一个带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.这是它的样子:

我稍微增加了条宽,.xUnits(function(){return 60;})因为默认值很薄,第一个条在y轴内消失.
此外,我已经尝试通过减去/添加一小时到min/maxDate来更改域,但这会导致第一个栏的意外行为.

我使用以下来计算偏移量:
minDate.setHours(minDate.getHours() - 1);
maxDate.setHours(maxDate.getHours() + 1);
Run Code Online (Sandbox Code Playgroud)
是否有修复或解决方法在第一个和最后一个栏之前添加填充?