小编Xav*_*hot的帖子

MongoDB:如何更改字段的类型?

Stackoverflow中已经存在一个问题,与我的问题非常相似.问题是这个问题的答案是针对Java驱动程序,我试图在shell中进行.

我这样做......

db.meta.update(
  {'fields.properties.default': { $type : 1 }}, 
  {'fields.properties.default': { $type : 2 }}
)
Run Code Online (Sandbox Code Playgroud)

这不行!

mongodb

145
推荐指数
7
解决办法
17万
查看次数

统计:Python中的组合

我需要计算在Python combinatorials(NCR),但无法找到的功能做在math,numpystat 图书馆.类似于类型函数的东西:

comb = calculate_combinations(n, r)
Run Code Online (Sandbox Code Playgroud)

我需要可能的组合数量,而不是实际的组合,所以itertools.combinations我不感兴趣.

最后,我想避免使用阶乘,因为我将计算组合的数字可能变得太大而且阶乘将变得非常可怕.

这似乎是一个非常容易回答的问题,但是我被淹没在关于生成所有实际组合的问题中,这不是我想要的.:)

非常感谢

python statistics combinations

114
推荐指数
11
解决办法
10万
查看次数

106
推荐指数
6
解决办法
7万
查看次数

Python:`如果键入dict`与`try/except` - 这是更具可读性的成语?

我有一个关于习语和可读性的问题,似乎有一个针对这个特殊情况的Python哲学冲突:

我想从字典B中构建字典A.如果B中不存在特定的键,则不执行任何操作并继续.

哪种方式更好?

try:
    A["blah"] = B["blah"]
except KeyError:
    pass
Run Code Online (Sandbox Code Playgroud)

要么

if "blah" in B:
    A["blah"] = B["blah"]
Run Code Online (Sandbox Code Playgroud)

"做并请求原谅"与"简单和明确".

哪个更好?为什么?

python idioms readability code-readability defaultdict

86
推荐指数
4
解决办法
6万
查看次数

要在Scala中映射的案例类

有没有一种很好的方法可以转换Scala case class实例,例如

case class MyClass(param1: String, param2: String)
val x = MyClass("hello", "world")
Run Code Online (Sandbox Code Playgroud)

进入某种映射,例如

getCCParams(x) returns "param1" -> "hello", "param2" -> "world"
Run Code Online (Sandbox Code Playgroud)

适用于任何案例类,而不仅仅是预定义的类.我发现你可以通过编写一个询问底层Product类的方法来拉出case类名,例如

def getCCName(caseobj: Product) = caseobj.productPrefix 
getCCName(x) returns "MyClass"
Run Code Online (Sandbox Code Playgroud)

所以我正在寻找类似的解决方案,但对于案例类字段.我想象一个解决方案可能不得不使用Java反射,但是如果案例类的底层实现发生变化,我讨厌在未来的Scala版本中编写一些内容.

目前我正在使用Scala服务器并使用案例类定义协议及其所有消息和异常,因为它们是如此美观,简洁的构造.但是,我需要将它们转换为Java映射,以通过消息传递层发送以供任何客户端实现使用.我当前的实现只是分别为每个案例类定义一个翻译,但是找到一个通用的解决方案会很好.

scala case-class

71
推荐指数
6
解决办法
4万
查看次数

如何替换mongodb文件中的子字符串

我在形式的集合ABC中有很多mongodb文档:

{
....
"URL":"www.abc.com/helloWorldt/..."
.....
}
Run Code Online (Sandbox Code Playgroud)

我想用helloWorld最终输出替换helloWorldt:

{
....
"URL":"www.abc.com/helloWorld/..."
.....
}
Run Code Online (Sandbox Code Playgroud)

我如何为集合ABC中的所有文档实现此目的

mongodb mongo-shell mongodb-.net-driver

59
推荐指数
6
解决办法
5万
查看次数

扩展scala案例类而不经常复制构造函数的vals?

有没有办法扩展一个案例类,而不是不断地沿途获取新的val?例如,这不起作用

case class Edge(a: Strl, b: Strl)
case class EdgeQA(a: Strl, b: Strl, right: Int, asked: Int) extends Edge(a, b)
Run Code Online (Sandbox Code Playgroud)

"a"与"a"冲突,所以我被迫重命名为a1.但我不想要各种额外的"a"公开副本,所以我把它变成了私人的.

case class Edge(a: Strl, b: Strl)
case class EdgeQA(private val a1: Strl, private val b1: Strl, right: Int, asked: Int) extends Edge(a, b)
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎并不干净..我错过了什么吗?

inheritance scala

58
推荐指数
4
解决办法
5万
查看次数

最小/最大,选项[T]可能为空Seq?

我正在做一些Scala体操,Seq[T]在那里我尝试找到"最小"的元素.这就是我现在所做的:

val leastOrNone = seq.reduceOption { (best, current) =>
    if (current.something < best.something) current
    else best
}
Run Code Online (Sandbox Code Playgroud)

它工作正常,但我不太满意 - 对于这么简单的事情来说有点长,而且我并不关心"如果".使用minBy会更优雅:

val least = seq.minBy(_.something)
Run Code Online (Sandbox Code Playgroud)

......但minminBy抛出异常时序列为空.是否有一种惯用的,更优雅的方式来查找可能为空的列表中的最小元素Option

scala scala-collections

54
推荐指数
5
解决办法
2万
查看次数

如何在命令行上覆盖typeafe配置列表值?

我有一个application.conf文件,其结构如下:

poller {
  datacenters = []
}
Run Code Online (Sandbox Code Playgroud)

我想在命令行上覆盖数据中心.对于其值为简单类型(字符串,数字)的其他配置键,我可以覆盖使用application.conf,这可以正常工作.但是,我似乎找不到为列表执行此操作的方法.在上面的例子中,我试图将数据中心设置为["SJC","IAD"],如下所示:"datacenters"但是我得到一个例外,即键值是字符串,而不是列表.有没有办法向typesafe配置库发信号通知这个值是一个列表?

java scala config typesafe

40
推荐指数
1
解决办法
1万
查看次数

如何在mongodb中找到最小值

你怎么做相当于

SELECT 
  MIN(Id) AS MinId
FROM
  Table
Run Code Online (Sandbox Code Playgroud)

在MongoDB中.看起来我将不得不使用MapReduce,但我找不到任何显示如何执行此操作的示例.

谢谢.

mongodb mongodb-.net-driver

37
推荐指数
3
解决办法
5万
查看次数