草庐IT

querying

全部标签

mongodb - MongoRepository findByThisAndThat 带有多个参数的自定义@Query

我正在尝试运行此查询{campaignId:ObjectId('5a6b11e806f0252e1408e379'),'options.path':'NT'}它在Compass中完美运行,但是当我尝试添加如下所示的MongoRepository接口(interface)时:@Query("{'campaignId':ObjectId(?0),'options.path':?1})")publicDialogfindByCampaignIdAndPath(StringcampaignId,Stringpath);我得到这个异常:nestedexceptioniscom.mongodb.u

MongoDB : Hint with multiple columns in java query example

在一个集合主题中,其中的文档以社会、数学和英语作为字段。如果我需要为以下查找查询提供提示,我该怎么做?db.subject.find({maths:30,social:10,english:20}); 最佳答案 来自文档(http://docs.mongodb.org/manual/reference/method/cursor.hint/#cursor.hint)db.subject.find({maths:30,social:10,english:20}).hint({maths:1})或任何其他指标

node.js - 使用 .where() Query with .update() 通过 Mongoose ?

如何在mongoose中使用.where()和.update()?查询条件是传递给.update()的第一个参数。我是否应该将查询条件的null传递给.update()并在其后跟一个.where('_id',id)?另外,我也可以将其应用于.findByIdAndUpdate()/.findOneAndUpdate()吗?如果没有,是否有一个Query方法,在该方法中我可以仅使用更新文档来.update()并通过其他.where()链中的方法? 最佳答案 在Model类上调用where返回一个Query对象,该对象具有您所询问的那种

java - MongoDB:在 Java 中使用 $gte 和 $lte 进行查询

我想对大于或等于且小于或等于的字段执行查询(顺便说一句,我使用的是java)。换句话说。>=和我已经设法让它工作了:FindIterableiterable=db.getCollection("1dag").find(newDocument("timestamp",newDocument("$gt",1412204098)));还有……FindIterableiterable=db.getCollection("1dag").find(newDocument("timestamp",newDocument("$lt",1412204098)));但是如何将它们相互结合起来呢?目前我正在

MongoDB 查询检查数组属性中的值

这个问题在这里已经有了答案:Finddocumentwitharraythatcontainsaspecificvalue(13个答案)关闭7年前。我找不到如何检查一些值是否在mongo文档的数组属性中。比如我有一些收藏用户,这样的文档:{'name':'Paul','age':43,'friendsIDs':[ObjectId('qqq...'),ObjectId('www...'),ObjectId('eee...')],}现在假设我想检查ID为ObjectId('qqq...')的用户是否是Paul的friend。这在几乎所有的编程语言中都很容易做到,例如在php中它会是这样的:

mongodb - 用户断言 : 1: Update query failed -- RUNNER_DEAD

我们正在使用MongoDB(v2.6.4)来处理一些数据,一切都很好,除了偶尔,我们会遇到一个奇怪的RUNNER_DEAD异常...MongoDB.Driver.WriteConcernException:WriteConcerndetectedanerror'Updatequeryfailed--RUNNER_DEAD'.(Responsewas{"lastOp":{"$timestamp":NumberLong("6073471510486450182")},"connectionId":49,"err":"Updatequeryfailed--RUNNER_DEAD","code

MongoDB count with query 返回的记录多于 count all

我注意到MongoDB的一个奇怪行为,我试着猜测可能是什么问题:我有一个MongoDB,在一个集合中有很多文档。我运行了以下查询:db.mydocuments.count({_id:{$lte:newObjectId("549010c9e4b06c2f044f27f4")}});结果是66.579.389个文档比我运行以下:db.mydocuments.count();令人惊讶的是我得到了以下总数:32.606.242这怎么可能?集合的总计数如何小于查询计数?至少它需要等于查询计数。db.mydocument.stats()是:{"ns":"mydb.documents.photos"

c# - Mongodb In Query 对每条记录都有限制

我有一个id的authorIds=["1","2",3","4"]数组。我有另一个数组保存对authorId的引用。例如:book=[{bookId:"abcd",authorId:"1"},{bookId:"def",authorId:"1"}{bookId:"ghi",authorId:"2"}{bookId:"kjl",authorId:"1"}];现在我想使用In查询(mongodbC#drvier),但想将每位作者的书籍数量限制为5本书。谁能告诉我该怎么做。 最佳答案 您可以使用Limit选项来实现这一点:varbuild

php - 如何使用 "MongoDB\Driver\Query($filter, $options)"?

我正在尝试使用MongoDB\Driver\Query类在PHP中进行查询,但是对于php.net中的文档,我并不真正理解如何使其工作。我想返回一个包含我收藏的所有数据的JSON对象。这是一个运行在Php7.1.2和MongoDB3.2.20上的PHP函数$m=newMongoDB\Driver\Manager("mongodb://login:password@127.0.0.1:27017/");$filter=array('id'=>0);$options=array('projection'=>['name'=>$parameters['baseName']]);$query=

scala - 卡斯巴/礼拜 : How to query a field that a part of a string is contained?

我尝试用Casbah和Salat编写一个查询来查询一个包含部分名称的字段。我尝试使用这样的正则表达式(在SalatDAO中):valregexp=(""".*"""+serverName+""".*""").rvalquery="serverName"->regexpvalresult=find(MongoDBObject(query))与valregexp=".*"+serverName+".*"记录在MongoDB中,当我用完整名称搜索它时,它起作用了。告诉casbah搜索字符串的一部分的正确方法是什么?我想修复的另一件事是参数的字符串连接。有没有默认的方法用casbah转义输入参