如何将MongoDB命令的结果导出到平面文件 例如,如果我要将db.collectionname.find()放入一个平面文件中。 我试过db.collectionname.find() >> "test.txt"似乎没有工作。
我正在使用MongoDB 2.2.2的32位Windows7机器。 我在.js文件中有一个复杂的聚合查询。 我需要在shell上执行这个文件并将输出指向一个CSV文件。 我确保查询返回一个“扁平”的JSON(没有嵌套键),所以它本质上可以转换成一个整洁的CSV。 我知道load()和eval() 。 eval()要求我将整个查询粘贴到shell中,并且只允许脚本中的printjson() ,而我需要csv。 第二种方法: load() ..它将输出显示在屏幕上,再以json格式显示。 有没有一种方法可以做Mongo从json到csv的转换? (我需要csv文件来准备数据图表)。 我在想: mongo有一个内置的命令,我现在找不到。 2.蒙戈不能为我做; 我最多可以发送json输出到一个文件,然后我需要转换为csv我自己。 3. Mongo可以发送json输出到一个临时的集合,其中的内容可以很容易地mongoexported为csv格式。 但我认为只有map-reduce查询支持输出集合。 是对的吗? 我需要它的聚合查询。 谢谢你的帮助 :)
我有一个这样的文档结构: { _id:"43434", heroes : [ { nickname : "test", items : ["", "", ""] }, { nickname : "test2", items : ["", "", ""] }, ] } 我可以$setembedded对象的items数组的第二个元素在数组heros与nickname "test" ? 结果: { _id:"43434", heroes : [ { nickname : "test", items : ["", "new_value", ""] }, // modified here { nickname : "test2", items […]
当使用MongoDB的$in子句时,返回的文档的顺序是否总是对应于数组参数的顺序?
我想定义一个$项目汇总阶段,我可以指示它添加一个新的字段,并包含所有现有的字段,而不必列出所有现有的字段。 我的文档看起来像这样,有很多领域: { obj: { obj_field1: "hi", obj_field2: "hi2" }, field1: "a", field2: "b", … field26: "z" } 我想要这样做一个聚合操作: [ { $project: { custom_field: "$obj.obj_field1", //the next part is that I don't want to do field1: 1, field2: 1, … field26: 1 } }, … //group, match, and whatever… ] 有没有像在这种情况下可以使用的“包含所有字段”关键字,或者其他方式来避免分别列出每个字段?
我有一个Email文件,其中有一个sent_atdate字段: { 'sent_at': Date( 1336776254000 ) } 如果此Email尚未发送,则sent_at字段为空或不存在。 我需要得到所有发送/未发送的Emails 。 我被困在试图找出正确的方式来查询这些信息。 我认为这是获得发送计数的正确方法: db.emails.count({sent_at: {$ne: null}}) 但是我应该如何得到那些没有发送的数量呢?
假设mongodb文档(表格)'users'是 { _id: 1, name: { first: 'John', last: 'Backus' }, birth: new Date('Dec 03, 1924'), death: new Date('Mar 17, 2007'), contribs: [ 'Fortran', 'ALGOL', 'Backus-Naur Form', 'FP' ], awards: [ { award: 'National Medal', year: 1975, by: 'NSF' }, { award: 'Turing Award', year: 1977, by: 'ACM' } ] } and other object(person)s 我想find获得“国家奖章”的人,并且在1975年必须获得奖励。在不同年份可能有其他人获得这个奖项。 […]
我正在尝试使用PHP驱动程序来计算mongo db集合中给定logging的跳过值。 因此,拿一个给定的logging,找出整个集合内的logging索引。 这可能吗? 目前我正在select所有logging并手动对结果数组进行索引。
我有一个文件集合: date: Date users: [ { user: 1, group: 1 } { user: 5, group: 2 } ] date: Date users: [ { user: 1, group: 1 } { user: 3, group: 2 } ] 我想查询这个集合来查找所有文档,其中用户数组中的每个用户标识都在另一个数组中[1,5,7]。 在这个例子中,只有第一个文档匹配。 我能find的最佳解决scheme是: $where: function() { var ids = [1, 5, 7]; return this.users.every(function(u) { return ids.indexOf(u.user) !== -1; }); […]
您好,我有一个约500万的文件在mongodb(复制)每个文件的43个领域。 如何删除重复的文件。 我尝试了 db.testkdd.ensureIndex({ duration : 1 , protocol_type : 1 , service : 1 , flag : 1 , src_bytes : 1 , dst_bytes : 1 , land : 1 , wrong_fragment : 1 , urgent : 1 , hot : 1 , num_failed_logins : 1 , logged_in : 1 , num_compromised : 1 […]