Tag: mongodb

EC2服务器或AWS SimpleDB上的MongoDB?

什么情况下更有意义 – 安装MongoDB来托pipe多个EC2实例,或者使用Amazon SimpleDB Web服务? 当MongoDB有多个EC2实例时,我有自己设置实例的问题。 在使用SimpleDB时,我有把我locking到Amazons数据结构的问题吗? 发展方面有什么不同? 我不应该只能切换服务层的DAO,写入MongoDB或AWS SimpleDB?

在MongoDB中是否有一个名称集合的约定?

我想知道是否有一个数据库收集的公约,如: PageVisit或page_visit 。 这些符号有什么优点/缺点吗?

什么是BSON,和JSON有什么不同?

我刚刚开始与mongoDb和我已经注意到的一个事情是,它使用bson内部存储数据。但是文档不完全清楚什么BSON是什么,以及如何在mongoDb中使用它。有人可以解释它我好吗?

MongoDB如何避免SQL注入混乱?

我正在阅读我的可靠O'Reilly书,并且遇到了一段关于Mongo如何避免SQL注入式漏洞的泥沼。 在我的内心里,我想我明白这一点。 如果将unsanitized的variables传递到查询中,那么它们不能通过UNION , JOIN ,查询转换注释等方式来打破面向文档的查询结构。 MongoDB如何避免SQL注入混乱? 这是查询语法的性质吗?

entity framework和MongoDb

Entity Framework是否支持MongoDb数据库?也许有人会写一个EF MongoDb Provider?

如何在插入时对meteorcollections进行sorting?

我正在使用Meteor开展我的第一个项目,并且在分类时遇到一些困难。 我有一个表单,用户input格式,然后显示在列表中。 目前最新的格言自动显示在列表的底部。 是否有简单的方法让最近出现在列表的顶部? 我试过了: Template.list.aphorisms = function () { return Aphorisms.find({}, {sort: {$natural:1}}); }; 我很难过,因为meteor文档没有太多的例子。

如何在Meteor正在运行时从另一个客户端访问Meteor的MongoDB?

我想在运行Meteor时从Python客户端访问Meteor的MongoDB。 因为Meteor的数据库被locking,我无法启动一个mongod。 我如何从另一个客户端访问数据库?

在Mongoose中将两个OR查询与AND结合在一起

我想在单声道中将两个OR查询与AND结合起来,就像在这个SQL语句中一样: SELECT * FROM … WHERE (a = 1 OR b = 1) AND (c=1 OR d=1) 我在一个只从主应用程序获取模型对象的NodeJS模块中试过这个: /********** Main application ***********/ var query = MyModel.find({}); myModule1.addCondition(query); myModule2.addCondition(query); query.exec(…) /************ myModule1 ***************/ exports.addCondition = function(query) { query.or({a: 1}, {b: 1}); } /************ myModule2 ***************/ exports.addCondition = function(query) { query.or({c: 1}, {d: 1}); } 但是这不起作用,所有的OR条件都会像这个SQL语句一样被连接在一起: SELECT […]

如何在MongoDB中组织多对多的关系

我有两个表/集合; 用户和组。 用户可以是任何数量的组的成员,并且用户也可以是任何数量的组的拥有者。 在关系型数据库中,我可能会有第三个名为UserGroups的表,其中包含一个UserID列,一个GroupID列和一个IsOwner列。 我正在使用MongoDB,我相信在文档数据库中有这种关系的不同方法。 我是否应该将用户表中的组和组作为所有者列表作为两个ObjectID数组embedded? 我是否也应该将成员和所有者列表作为两个数组存储在组表中,从而有效地映射引起关系信息重复的关系? 或者是一个桥梁UserGroups表格合法的概念在文件数据库中的多对多的关系? 谢谢

.NET最佳实践的MongoDB连接?

我一直在使用GitHub上的C#驱动程序来玩MongoDB(它的速度惊人)。 在我testing的小型单线程控制台应用程序中,一切正常。 我能够在8秒内添加100万个文件(是的,百万)运行单线程。 如果我使用for循环范围之外的连接,我只会得到这个性能。 换句话说,我保持每个插入连接而不是连接每个插入。 显然这是人为的。 我以为我会对它进行一番调查,看看它是如何与多个线程一起工作的。 我这样做是因为我需要模拟一个有多个并发请求的网站。 我正在旋转15到50个线程,在所有情况下总共插入了15万个文件。 如果我只是让线程运行,每个插入操作创build一个新的连接,性能就会停下来。 显然,我需要find一种方法来共享,locking或合并连接。 这就是问题所在。 连接到MongoDB的最佳做法是什么? 连接应该在应用程序的整个生命周期内保持打开状态(每个操作的TCP连接都有大量的延迟打开和closures)? 有没有人有任何真实的世界或MongoDB生产经验,特别是底层的连接? 这是我的线程示例使用一个静态连接,被locking插入操作。 请提供build议,以最大限度地提高networking环境中的性能和可靠性! private static Mongo _mongo; private static void RunMongoThreaded() { _mongo = new Mongo(); _mongo.Connect(); var threadFinishEvents = new List<EventWaitHandle>(); for(var i = 0; i < 50; i++) { var threadFinish = new EventWaitHandle(false, EventResetMode.ManualReset); threadFinishEvents.Add(threadFinish); var thread = […]