我使用MongoDB作为数据存储,并希望将文档的“集群”配置存储在单独的集合中。在
所以在一个集合中,我有我的原始对象集,而在我的第二个集合中,它有
kMeansCollection: {
1: [mongoObjectCopy1], [mongoObjectCopy2]...
2: [mongoObjectCopy3], [mongoObjectCopy4]...
}
我在这里跟踪文本集群的K-means实现,http://tech.swamps.io/recipe-text-clustering-using-nltk-and-scikit-learn/,但我很难考虑如何将输出绑定回MongoDB。在
示例(取自链接):
^{pr2}$var“tags”是运行algo所需的输入。 它必须是数组的形式,但当前标记返回一个对象数组(因此我必须从查询中提取文本值)
然而,在以5种方式神奇地聚集了我的集合之后,我如何才能将它们与来自mongo的各自的对象条目重新组合起来呢?在
我只从对象的一个属性输入特定的文本内容。在
非常感谢!在
有效的方法是使用聚合框架,使用服务器端操作创建“_id”和“tag data”列表。这也减少了通过网络发送的数据量,以及用于在客户端解码文档的时间和内存。在
您需要^{} 文档并使用^{} 累加器运算符返回}列表。当然,^{} 方法提供了对聚合管道的访问。在
_id
列表和{然后使用^{} 上的^{} 方法检索数据,因为我们按
^{pr2}$None
分组,因此光标只保存一个元素。在之后,只需调用函数并^{} 结果。在
您需要为文档提供一些标识符。在查询中包含}的并行列表。在
_id
字段可能是个好主意,这样您就有了一个唯一的文档标识符。然后可以创建ids
和{然后对标记数据调用cluster函数。在
^{pr2}$并且
zip
结果返回ids
。在从这里开始,您已经构建了
(_id, cluster)
的元组,这样就可以更新mongo文档上的集群标签。在相关问题 更多 >
编程相关推荐