草庐IT

elixir-mongo

全部标签

mongodb - Mongo $in 算子性能

在具有大量可能性的MongoDB中使用$in运算符是不是很慢/很差?posts.find({author:{$in:['friend1','friend2','friend3'....'friend40']}})例如,AppEngine不允许您使用超过30个,因为它们直接转换为IN数组中每个项目的一个查询,因此强制您使用他们的方法来处理fanout.虽然这可能也是Mongo中最有效的方法,但它的代码要复杂得多,所以我宁愿只使用这种通用方法。Mongo会为合理大小的数据集高效地执行这些$in查询吗? 最佳答案 对于$in的小列表(很难

mongodb - mongo - 无法连接到服务器 127.0.0.1 :27017

我来自riak和redis,我从未遇到过启动或交互此服务的问题。这是mongo的普遍问题,我相当无能。重新启动没有帮助。我是mongo的新手。mongoMongoDBshellversion:2.2.1connectingto:testFriNov916:44:06Error:couldn'tconnecttoserver127.0.0.1:27017src/mongo/shell/mongo.js:91exception:connectfailed这是我在日志中看到的。nowopen)FriNov916:44:34[conn47]endconnection10.29.16.208:5

如何在集成测试中测试Mongo索引?

我有一个Java方法,该方法在MongoCollection的两个字段上创建了一个索引。我应该获取集合的索引信息,然后检查索引的名称和字段是否正确。为此编写集成测试的最干净的方法是什么?使用自定义的hamcrest匹配器查看索引是否在集合中是否有意义?看答案在春天和MongoTemplate#indexOps(Stringcollection)您可以获取列表IndexInfo,代表MongoDB系列的索引。由于这是常规列表,您可以结合使用hasItem(MatcheritemMatcher)和hasProperty(StringpropertyName,MatchervalueMatcher)

node.js - 直接从 URL 查询字符串提供的 mongo 查询有多危险?

我在玩node.js,express,和mongoose.为了立即启动和运行,我将Express查询字符串对象直接传递给mongoose查找函数。我很好奇的是这种做法在实时应用程序中会有多危险。我知道RDBMS极易受到SQL注入(inject)的攻击。除了“清理输入”的好建议之外,这段代码有多邪恶:app.get('/query',function(req,res){models.findDocs(req.query,function(err,docs){res.send(docs);});});意味着对http://localhost:8080/query?name=ahsteele

node.js - 直接从 URL 查询字符串提供的 mongo 查询有多危险?

我在玩node.js,express,和mongoose.为了立即启动和运行,我将Express查询字符串对象直接传递给mongoose查找函数。我很好奇的是这种做法在实时应用程序中会有多危险。我知道RDBMS极易受到SQL注入(inject)的攻击。除了“清理输入”的好建议之外,这段代码有多邪恶:app.get('/query',function(req,res){models.findDocs(req.query,function(err,docs){res.send(docs);});});意味着对http://localhost:8080/query?name=ahsteele

mongodb - mongo中的稀疏索引和空值

我不确定我是否正确理解稀疏索引。我在fbId上有一个稀疏的唯一索引{"ns":"mydb.users","key":{"fbId":1},"name":"fbId_1","unique":true,"sparse":true,"background":false,"v":0}我期待这将允许我插入带有null作为fbId的记录,但这会引发重复键异常。如果fbId属性被完全删除,它只允许我插入。不是应该用稀疏索引来处理吗? 最佳答案 稀疏索引不包含缺少索引字段的文档。但是,如果字段存在并且值为null,它仍然会被索引。因此,如果您的应用

mongodb - mongo中的稀疏索引和空值

我不确定我是否正确理解稀疏索引。我在fbId上有一个稀疏的唯一索引{"ns":"mydb.users","key":{"fbId":1},"name":"fbId_1","unique":true,"sparse":true,"background":false,"v":0}我期待这将允许我插入带有null作为fbId的记录,但这会引发重复键异常。如果fbId属性被完全删除,它只允许我插入。不是应该用稀疏索引来处理吗? 最佳答案 稀疏索引不包含缺少索引字段的文档。但是,如果字段存在并且值为null,它仍然会被索引。因此,如果您的应用

mongodb - mongo - 如何查询嵌套的 json

我是一个完整的mongo新手。我正在使用mongohubformac。我需要查询以下json-{"_id":ObjectId("abcd"),"className":"com.myUser","reg":12345,"test":[{"className":"com.abc","testid":"pqrs"}]}并查找testid为pqrs的记录。我该怎么做呢? 最佳答案 您可以在MongoHub的查询字段中输入{'test.testid':'pqrs'}。 关于mongodb-mong

mongodb - mongo - 如何查询嵌套的 json

我是一个完整的mongo新手。我正在使用mongohubformac。我需要查询以下json-{"_id":ObjectId("abcd"),"className":"com.myUser","reg":12345,"test":[{"className":"com.abc","testid":"pqrs"}]}并查找testid为pqrs的记录。我该怎么做呢? 最佳答案 您可以在MongoHub的查询字段中输入{'test.testid':'pqrs'}。 关于mongodb-mong

node.js - 使用 mongoose 将 mongo 对象的字段设置为空

我在一个对象上调用user.save(),我在其中设置了user.signup_date=null;user.first_name=null;user.signup_date=null;user.save();但是当我在mongodb中查看用户时,它仍然设置了signup_date和first_name...如何有效地将此字段设置为空或null? 最佳答案 要从现有文档中删除这些属性,请在保存文档之前将它们设置为undefined而不是null:user.first_name=undefined;user.signup_date=u