草庐IT

mongodb.driver

全部标签

node.js - 如何安全地将 Passport 与 Node.js 和 MongoDB 一起使用?

所以我让Passport与Node.js和MongoDB一起用于session管理,这当然可以方便地提供对请求header中的user对象的访问。但是,至少对我而言,Passport将此对象设置为来自MongoDB的整个帐户文档。对于我创建的架构,这包括有关用户的所有信息-电子邮件、姓名、散列密码和加盐密码等。所以我对此有两个问题。首先,一遍又一遍地在服务器和客户端之间来回发送所有信息真的安全吗?当然,它是通过SSL发送的,密码经过哈希处理和加盐处理——但所有用户信息仍然存在。我的模式是否应该将用户信息(身份验证不需要的个人信息)保存在不同的MongoDB文档中?即使我这样做了,哈希密

javascript - Mongodb 聚合管道新日期

我尝试使用聚合管道根据之前的管道值附加/创建新日期并保存到新集合中。(请参阅下面的管道)。但是,语法错误,我收到一条错误消息disallowedfieldtypeDateinobjectexpression(at'date')//date:newDate('$_id.year','$_id.month','$_id.day')我想知道如何在mongo聚合管道中使用我之前的年、月、日值来新日期?基本上,在将我的ISODate转换为年、月和日进行分组后,我想将它们转换回ISODate格式。pipeline=[{$match:{event:'sample_event',}},{$projec

MongoDB - 从损坏的碎片中恢复?

当一个分片永久损坏时,如何拯救一个分片的MongoDB集群?我有一个包含48个分片的MongoDB集群。每个分片都是具有一个复制集的主分片。由于计划不周(tm),其中一个盒子用完了文件空间而死了。另一个已经很近了,然后也用完了空间。由于糟糕的情况(可能是当时正在进行的compact()或repairdb()操作,整个分片已损坏。我停止守护进程,尝试修复,但没有成功。那么,问题来了,如何接受一个分片的丢失,同时保留其他好的分片?48个分片,丢失一个分片只占我数据的2%。我可以接受丢失这些数据,但我必须达到正常的健康状态。我该怎么办? 最佳答案

mongodb - 增加 MongoDB 命名空间限制

我有一个由3个实例组成的MongoDB副本集正在运行,最近我在日志文件中收到以下错误:error:hashtablenamespaceindexmaxchainreached:1335warning:hashtablenamespaceindexlongchainERROR:writerworkercaughtexception:toomanynamespaces/collectionson:...在我看来,默认的.ns(命名空间文件)大小限制在这里是不够的,所以我包括:nssize=32到每个副本集成员的配置。这应该使命名空间文件现在变成32MB,而不是默认的16MB(参见http:

java - 通过 java 驱动程序将数据从 MongoDB 转换为原生 MATLAB 格式

我正在尝试通过java驱动程序将集合中的所有文档导入MATLAB,但我似乎缺少某些东西。我在网上进行了广泛的搜索,但找不到可行的解决方案。我在mongodb文档中的数据是混合的,它由数字和字符串组成,因此将每个文档转换为MATLAB中的结构是有利的。我可能会为每个文档的每个字段运行一个循环并像那样解析数据,但我认为此解决方案可能会占用相当大的性能空间。到目前为止,这是我的代码:importcom.mongodb.*;events=mongoConn.getCollection('events');cursor=events.find();list=cursor.toArray();此时

具有长类型_id的java mongodb findOne

我的mongodb集合中的ids格式如下"_id":NumberLong("502434721406525440"),我正在尝试执行mongo的findOne方法来检索具有所需ID的项目。但是,我无法使用以下代码片段进行管理。@AutowiredprivateMyItemRepositorymyRepo;publicMyItemgetItemById(StringitemId){returnmyRepo.findOne(itemId);}和MyItem类如下:publicclassMyItem{@IdprivatefinallongitemId;//andsomeotherfields

mongodb - 对 mongodb 中的嵌套对象进行分组查询

我正在考虑对嵌套对象中的给定值执行分组。比如我的文档结构如下:{"ip_address":"192.168.132.12","timestamp":"2014-08-28T06:41:24","response":200,"uri":{"term":"valueA","page":"1","category":"category1"}}我想要实现的是在uri.term字段上执行组聚合。我知道这是如何在直接领域实现的,例如“ip_address”:db.search_stb.aggregate({$group:{_id:"$ip_address",total:{$sum:1}}});但我

mongodb - MongoDB 中数组的唯一索引

假设我们有一组与此类似的文档:{foo:"Bar",foos:[1,2,3]}我想定义一个唯一索引,这样就无法将与此相同的文档插入到数据库中。db.stuffs.ensureIndex({foos:1},{unique:true})似乎阻止任何包含具有任何交集的foos数组的文档,例如。如果上面的文档已经在数据库中,那么{foo:"Bar",foos:[1]}也会被屏蔽。>db.stuffs.ensureIndex({foos:1},{unique:true})>db.stuffs.insert({foo:"Bar",foos:[1,2,3]})>db.stuffs.insert({f

mongodb - Spring XD - 作业中的 UDP

我一直在使用SpringXD连续摄取传感器数据,它运行良好。我的新要求是能够“重放”部分数据。在我的特定情况下,它将从MongoDB读取(使用特定查询),生成具有特定条目字段的UDP数据包,并在固定的时间间隔内将其发送到SocketAddress。我正在实现的第一次尝试是通过spring-batch作业。读者很简单,因为它只是查询MongoDB的数据,但我担心UDP部分。使用spring-batch发送UDP数据包感觉不自然,所以我想知道是否有人可以建议我实现这个的想法。谢谢 最佳答案 您可以使用带有MongoDBInboundCh

java - 如果上限集合达到最大大小,为什么 MongoDB 不会删除旧文档?

我有一个上限集合,它是用java代码创建的:this.collection=db.createCollection("stat",newBasicDBObject("capped",true).append("size",200000000).append("max",1000000));现在在这个集合的统计中我们有:/*0*/{"ns":"myDatabase.stat","count":12212,"size":2146416,"avgObjSize":175,"storageSize":200003584,"numExtents":1,"nindexes":4,"lastExte