草庐IT

db_query

全部标签

sql - Mongo DB Laravel 中的排序依据、分组依据

我是MongoDB的新手,我正在使用jenssegers我的Laravel项目中的库。我有一个名为“table1”的表,其中包含“_id”、“c1”、“c2”、“c3”、“created_at”列。我需要将以下SQL查询转换为mongo数据库。select*,count(c3)astotalfrom(select*fromtable1wherec1in('1','32','6',...)orderbycreated_atdesc)astempgroupbyc2orderbycreated_atdesc我需要选择包括“_id”在内的所有列。当按c2列分组时,我只需要按“排序依据”包含最大

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"

java - 从 eclipse 运行的程序能够将数据插入本地机器的 Mongo DB 但不能插入远程机器的 Mongo DB

这是我使用的代码:packagetesting;importcom.mongodb.*;publicclassMongoTest{publicstaticvoidmain(Stringargs[]){try{MongoClientcli=newMongoClient("10.6.9.227",27017);DBdtbs=cli.getDB("test");System.out.println("ConnectiontoDBsuccessful");DBCollectioncol=dtbs.getCollection("newcol");BasicDBObjectrecord=newBa

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

mongodb - pymongo db.collection_names() 返回空列表

我正在使用以下代码连接到数据库并为每个数据库列出所有集合:conMongo=MongoClient(connect,27017)listOfDBs=conMongo.database_names()foriinlistOfDBs:db=conMongo[i]printdbprintdb.collection_names():conMongo.disconnect()数据库连接没有问题,可以打印数据库列表。但是db.collection_names()打印空列表,尽管每个数据库中有很多集合。 最佳答案 我通过更新pymongo包解决了

mongodb - Cosmos DB 聚合管道不兼容(Mongo API)?

也许有人知道我们如何修复或变通一些看起来像AzureCosmosDB中MongoDB聚合管道当前实现中的错误的东西(所以是的:我们已经在我们的实例上打开了该功能)。简短的版本是:在我们看来$match聚合阶段之后一个$group阶段不起作用。它从不返回任何结果。假设您已经在一个有效的数据库中(使用use),这可以使用任何Mongo控制台以下列方式重现:粘贴以下JavaScript(如果您通过Azure门户创建集合,则此行是可选的;它假定您的集合名为bug)db.createCollection("bug");向集合中添加一些文档:db.bug.insert({_id:1,owner:"

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=

service - 停止作为服务运行的 Mongo DB 时出现错误 109 (1.6.1)

我将MongoDB作为Windows服务运行,每次我停止该服务时,它都会报告“错误109:管道已结束”。这是用于运行服务的命令行"C:\Temp\mongodb\bin\mongod"--service--serviceUser--servicePassword--dbpathC:\temp\db--rest--logpathC:\temp\db\log\mongo。日志--logappend--directoryperdb 最佳答案 此错误已在2.1.0版(https://jira.mongodb.org/browse/SERVE

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转义输入参

mongodb - 在 MongoDB 中创建新元素时显示对象而不是 db-ref ObjectId

DBref在以下情况下工作:Element.findOne({unit:unit_id,).populate('unit').exec(function(err,element){console.log(element)}会显示{"unit":{"id":"10251179680282633","__v":0,},"_id":"50b92eec29921b2531000003","__v":0,"created_at":"2012-11-30T22:10:52.513Z"}但是,如果我创建一个新单元并将我的单元放入我的元素中并保存,unit=newUnit();element=newE