Tag: mongodb

MongoDB获取集合中所有键的名称

我想要获取MongoDB集合中所有键的名称。 例如,从这个: db.things.insert( { type : ['dog', 'cat'] } ); db.things.insert( { egg : ['cat'] } ); db.things.insert( { type : [] } ); db.things.insert( { hello : [] } ); 我想获得独特的钥匙: type, egg, hello

在Node.js中编写文件

我一直在试图find一种方法来使用Node.js写入文件,但没有成功。 我怎样才能做到这一点?

“大数据”使用大pandas的工作stream程

在学习pandas的同时,我试图在这个问题上解答好几个月。 我使用SAS进行日常工作,这对我们来说是非常棒的支持。 然而,由于其他原因,SAS作为一款软件是非常糟糕的。 有一天,我希望用python和pandas来替代我的SAS,但是我目前缺乏大型数据集的核心外工作stream程。 我不是在谈论需要分布式networking的“大数据”,而是文件太大而不适合内存,但又足够小以适应硬盘驱动器。 我的第一个想法是使用HDFStore在磁盘上保存大型数据集,并只将需要的部分HDFStore到数据HDFStore进行分析。 其他人则提到MongoDB是一个更易于使用的替代scheme。 我的问题是这样的: 什么是一些最佳实践工作stream程来完成以下工作: 将平面文件加载到永久性的磁盘数据库结构中 查询该数据库以检索要送入pandas数据结构的数据 在pandas中操作片断之后更新数据库 真实世界的例子会受到大家的赞赏,尤其是那些使用“大数据”的pandas的人。 编辑 – 我如何工作的例子: 迭代地导入一个大的平面文件并将其存储在一个永久性的磁盘数据库结构中。 这些文件通常太大而不适合内存。 为了使用pandas,我想读取这些数据的子集(通常只有几列),可以适应内存。 我会通过对所选列进行各种操作来创build新列。 然后我必须将这些新列添加到数据库结构中。 我正在试图find执行这些步骤的最佳实践方式。 阅读有关pandas和pytables的链接似乎是追加一个新的列可能是一个问题。 编辑 – 特别回应杰夫的问题: 我正在build立消费者信用风险模型。 数据种类包括电话,SSN和地址特征; 财产价值; 像犯罪logging,破产等贬义的信息…我每天使用的数据集平均有近1000到2000个混合数据types的字段:数字和字符数据的连续variables,名义variables和有序variables。 我很less追加行,但是我执行许多操作来创build新的列。 典型的操作涉及将使用条件逻辑的多个列组合成新的复合列。 例如, if var1 > 2 then newvar = 'A' elif var2 = 4 then newvar = 'B' 。 这些操作的结果是我的数据集中每个logging的新列。 最后,我想将这些新列添加到磁盘数据结构中。 我会重复第2步,用交叉表和描述性统计数据来探索数据,试图find有趣的,直观的关系模型。 一个典型的项目文件通常是大约1GB。 文件被组织成一行,其中包含消费者数据的logging。 […]

在两个dateMongoDB之间查找对象

我一直在玩MongoDB中存储的tweets,每个对象看起来像这样: { "_id" : ObjectId("4c02c58de500fe1be1000005"), "contributors" : null, "text" : "Hello world", "user" : { "following" : null, "followers_count" : 5, "utc_offset" : null, "location" : "", "profile_text_color" : "000000", "friends_count" : 11, "profile_link_color" : "0000ff", "verified" : false, "protected" : false, "url" : null, "contributors_enabled" : false, "created_at" : "Sun May 30 18:47:06 +0000 […]

如何用“like”查询MongoDB?

我想查询一些像SQL like查询: select * from users where name like '%m%' 如何在MongoDB中做同样的事情? 我找不到like 文件中的操作员。

我如何在MongoDB中执行SQL Join等价物?

我如何在MongoDB中执行SQL Join等价物? 例如说你有两个集合(用户和评论),我想拉所有的评论与pid = 444连同每个用户的信息。 comments { uid:12345, pid:444, comment="blah" } { uid:12345, pid:888, comment="asdf" } { uid:99999, pid:444, comment="qwer" } users { uid:12345, name:"john" } { uid:99999, name:"mia" } 有没有办法将所有的评论与一个特定的领域(例如… find({pid:444}))和每个评论的用户信息一起去? 目前,我首先得到符合我的标准的评论,然后找出结果集中的所有uid,获取用户对象,并将它们与评论结果合并。 好像我做错了。

MongoDB的关系:embedded或引用?

我是MongoDB的新手 – 来自关系数据库的背景。 我想用一些评论来devise一个问题结构,但是我不知道用哪种关系来进行评论: embed还是reference ? 有一些评论的问题,如stackoverflow ,会有这样的结构: Question title = 'aaa' content = bbb' comments = ??? 起初,我想使用embedded的评论(我认为在MongoDB中推荐embed ),就像这样: Question title = 'aaa' content = 'bbb' comments = [ { content = 'xxx', createdAt = 'yyy'}, { content = 'xxx', createdAt = 'yyy'}, { content = 'xxx', createdAt = 'yyy'} ] 很清楚,但是我很担心这个情况: 如果我想编辑一个特定的评论,我怎样才能得到它的内容和它的问题? 没有_id让我find一个,也没有question_ref让我find它的问题。 […]

使用另一个字段的值更新MongoDB字段

在MongoDB中,是否可以使用来自其他字段的值来更新字段的值? 等价的SQL将是这样的: UPDATE Person SET Name = FirstName + ' ' + LastName 而MongoDB的伪代码是: db.person.update( {}, { $set : { name : firstName + ' ' + lastName } );

如何在MongoDB中更新多个数组元素

我有一个Mongo文件,其中包含一系列元素。 我想重置数组中.profile = XX的所有对象的.handled属性。 该文件的格式如下: { "_id" : ObjectId("4d2d8deff4e6c1d71fc29a07"), "user_id" : "714638ba-2e08-2168-2b99-00002f3d43c0", "events" : [ { "handled" : 1, "profile" : 10, "data" : "….." } { "handled" : 1, "profile" : 10, "data" : "….." } { "handled" : 1, "profile" : 20, "data" : "….." } … ] } 所以,我尝试了以下内容: .update({"events.profile":10},{$set:{"events.$.handled":0}},false,true) 但是它只更新每个文档中第一个匹配的数组元素。 (这是$的定义行为- […]

仅检索MongoDB集合中的对象数组中的查询元素

假设您的集合中包含以下文档: { "_id":ObjectId("562e7c594c12942f08fe4192"), "shapes":[ { "shape":"square", "color":"blue" }, { "shape":"circle", "color":"red" } ] }, { "_id":ObjectId("562e7c594c12942f08fe4193"), "shapes":[ { "shape":"square", "color":"black" }, { "shape":"circle", "color":"green" } ] } 做查询: db.test.find({"shapes.color": "red"}, {"shapes.color": 1}) 要么 db.test.find({shapes: {"$elemMatch": {color: "red"}}}, {"shapes.color": 1}) 返回匹配的文档(文档1) ,但始终与shapes所有数组项目: { "shapes": [ {"shape": "square", "color": "blue"}, {"shape": "circle", "color": "red"} ] } 但是,我想只获取包含color=red的数组的文档(Document […]