草庐IT

query-performance

全部标签

javascript - Node Redis : Multiple queries in different redis databases with same client

我对Nodejs及其异步方式不是很熟悉。我正在尝试查询不同的redis数据库。我有一个简单的函数可以从redis数据库中获取key:functionget_key(client,key,db,callback){if(key){client.select(db,function(e,s){if(e){console.log('client.selecterr:'+e);}elseif(s){client.get(key,function(e,s){callback(e,s);returns;});}});}return我正在使用它来查询多个数据库,如下所示:get_key(client

performance - LREM 一个 "big"字符串或 SET/GET + LREM 一个 "small"字符串

我希望这不会成为一个开放式问题。我正在使用RPOPLPUSH实现reliablequeue我正在尝试评估直接在列表中具有(可能很大的)字符串值(例如JSON)或在列表中只有一个“键”并使用SET存储/检索值之间的权衡/GET(即2个额外调用),在本例中为LREM仍然是O(N),但是字符串越小,性能应该越好。我没有考虑到什么? 最佳答案 你应该自己测试一下。也就是说,内存分配/解除分配比网络更快,因此大字符串的性能可能会更好。 关于performance-LREM一个"big"字符串或SE

mongodb - org.bson.codecs.configuration.CodecConfigurationException : Can't find a codec for class org. springframework.data.mongodb.core.query.GeoCommand

我正在使用如下聚合:finalListaggregations=newArrayList();Polygonpolygon=newPolygon(newPoint(-26.28125,42.19231862526141),newPoint(100.28125,64.7157757187955),newPoint(100.28125,42.19231862526141),newPoint(-26.28125,64.7157757187955));AggregationOperationmatch=newMatchOperation(Criteria.where("location").w

javascript - 通过 API 中的 req.query 将元数据信息附加到 Gridfs 文档文件 - Node.js Expresss.js MongoDB Multer Gridfs 流

在将元数据信息实际存储到mongoDB之前,我正在努力将其附加到dfile。我正在使用:constexpress=require("express");constrouter=express.Router();//Filemanagingwithgridfsconstmongoose=require('mongoose');constpath=require('path');constcrypto=require('crypto');constmulter=require('multer');constGridFsStorage=require('multer-gridfs-stora

C# MongoDB : Querying a $match on an array after an $unwind

我有一个要使用IAggregateFluent执行的聚合管道。这是与数据库的类映射publicclassCard{publicObjectIdId{get;set;}publicstringCardNumber{get;set;}publicstringCustomerId{get;set;}publicdecimalBalanceAmount{get;set;}publicstringCurrency{get;set;}publicListTransactions{get;set;}}和CardTransaction一样publicclassCardTransaction{//pub

performance - MongoDB 多键索引写入性能下降

在MongoDB中,我有一个包含文档的集合,该集合包含一个包含子文档的数组,我想在其上建立索引:{_id:ObjectId(),members:[{ref:ObjectId().str,...},{ref:ObjectId().str,...},...]}索引位于ref字段上,这样我就可以快速找到其成员中具有特定“ref”的所有文档:db.test.ensureIndex({"members.ref":1});我注意到,当数组长度超过几千时,将附加子文档推送到数组的性能会迅速下降。如果我改为对字符串数组使用索引,性能不会降低。以下代码演示了该行为:var_id=ObjectId("52

MongoDB: "Malformed geo query"多边形上有 $geoIntersect

我在一个集合中有事件,每个事件都包含一个所需的位置,设置一个GeoJSON多边形。我在另一个集合中也有服务提供商,也有一个GeoJSON多边形,指示他们可以交付的区域。对于给定的服务提供商,我试图列出兼容区域中的所有事件。但是,我得到这个错误:Malformedgeoquery:{$geoIntersects:{$geometry:{type:"Polygon",coordinates:[[[-31.59327575763251,115.8574693000001],[-31.59676306691357,115.9162469300458],[-31.60715789289806,1

MongoDB 聚合 : How to query a limited amount of "top" documents per group?

假设我有一个包含员工文档的MongoDB集合:{name:"JohnDoe",department:"Finance",salary:100}如何查询每个部门薪资最高的X名员工?编辑为了让自己更清楚一点,我是这样想的:db.collection.aggregate({$sort:{salary:-1}},{$group:{_id:"$department"employees:{$addToSet:"$name"}},{$project:{employees:{$slice:X}}})但这行不通有两个原因:1.$addToSet不保证输出集的任何顺序(至少根据documentation)

MongoDB 聚合框架 : group query

我希望使用mongoDB的聚合框架获得特定的查询。我想我需要$group和$addToSet运算符,但我对要使用的正确查询感到困惑。这是文章合集:/*0*/{"_id":4,"author":"KevinVanhove","book":{"order":500,"title":"HTML","url":"html"},"chapter":{"img":"navChapter-logo","order":500,"title":"W3C","url":"w3c"},"featured":0,"heading":[{"title":"title1","_id":ObjectId("5313

node.js - NodeJS 加密 : re-use cipher object to improve performance

我想要nodejs和加密的MongoDB数据库。我担心性能。考虑以下用例:我有一个加密数据库,我从中检索加密字符串列表(例如名称)[_encrypted_name_1,_encrypted_name_2,...]我想解密该列表中的所有元素因为我很关心性能,所以我做了一些测试来解决这个问题。我观察到,与加密/解密非常大的字符串相比,加密/解密大量小字符串的速度非常慢。考虑以下示例:varcrypto=require('crypto'),_=require('lodash'),encryptedStringArray=[],decryptedStringArray=[],encrypted