草庐IT

update_by_query

全部标签

Java + MongoDB : Updating fields in amount of document

我正在尝试立即更新文档数量中的字段,我想修改"download=0"其中"md5"在列表中。当我运行代码时,它抛出异常:java.lang.IndexOutOfBoundsException:Index:0,Size:0atjava.util.ArrayList.rangeCheck(UnknownSource)这就是我正在做的://thelistisanlistof"md5"ListupdateCondition=newArrayList(list.size());for(inti=0;i异常发生在:updateCondition.get(i).put("md5",list.get(

node.js - MongoDB : when does an error occur when querying in mongoDb

我的findSomething函数有一个错误。functionfindSomething(req,res,next){Myschema.findXXXById(req.params.xid,function(err,doc){if(err)res.json({status:1,message:messages.NotFound});res.json({status:0,docsInfo:doc});});}我得到的错误是这个Error:Can'tsetheadersaftertheyaresent.atServerResponse.OutgoingMessage.setHeader(_

mongodb - 间歇性 MongoDB 连接问题 : An attempt was made to access a socket in a way forbidden by its access permissions

尝试将文档写入我的集合时,我偶尔会抛出以下异常。我正在使用mLabs中托管的MongoDB3.0.7。我们的应用程序托管在Azure中(作为Web应用程序),我使用的是C#2.2.3SDK。MongoDB.Driver.MongoConnectionException:Anexceptionoccurredwhileopeningaconnectiontotheserver.--->System.Net.Sockets.SocketException:Anattemptwasmadetoaccessasocketinawayforbiddenbyitsaccesspermissions

arrays - Mongoose 查询 : find an object by id in an array

如何在此架构中通过id找到图像。我有用户的ID和我正在寻找的图像的ID。执行此操作的最佳方法是什么?在这种情况下,所有图像都具有不同的ID,或者它们是否可以具有相同的ID,因为它们不属于同一用户?我的架构如下所示:varuserSchema=newSchema({local:{email:String,password:String},facebook:{id:String,token:String,email:String,name:String},name:String,about:String,images:[{id:Schema.ObjectId,link:String,mai

mongodb - mongoDb和asp.net core中的update操作

我是mongoDb的新手,尝试使用mongoDb和Asp.netCorewebapi进行CRUD操作。我的问题是整个对象总是更新。我想更新我在webapi中发送的特定字段。示例:BusinessUnitoBU=newBusinessUnit(){Id="586e262268d90b290001b46e",Name="BU_Name",Address="my_Add"};现在我只想将地址更新为“my_New_add”并创建以下对象:BusinessUnitoBU=newBusinessUnit(){Id="586e262268d90b290001b46e",Name="BU_Name",

c# - Builders<TA>.Update.Set() 如何处理并行访问?

假设“items”(在下面的Set()方法中作为参数提供)被定义为列表(TM是某种结构类型,即仅由属性组成)包含仅一个项目,并且10个进程试图同时写入对items的更新(没有向列表添加任何内容):Builders.Update.Set("Items",items);更新意味着BSON中至少有一个元素具有修改后的值。MongoDB在这种情况下会怎样?它最终是否会用最后一个进程覆盖到那个单个元素(让那个列表只有一个元素)?或者它会添加10个这样的元素(项)到那个列表中吗? 最佳答案 我不知道并行访问是如何工作的。但是Setoperato

Mongodb select with condition is selected result must in sub select query

你如何在MongoDB中进行嵌套选择,类似于SELECTidFROMtable1WHEREidIN(SELECTidFROMtable2) 最佳答案 MongoDB尚不具备进行允许此功能的子查询的能力。我确定它在JIRA中,但是我无法立即找到它。目前唯一的方法是实际选择表,迭代游标提取信息并将其用作$in查询的一部分,如@Bruno所示,如下所示:ids=[];for(iindb.c2.find({},{_id:1}){//Ihaveassumedid=_idids[ids.length]=i;//Thedefaultreturno

node.js - 蒙戈 (+ Mongoose ) 错误 : Unable to find index for $geoNear query

这是我的架构:varActivitySchema=newSchema({loc:{type:[Number],index:'2dsphere'}});当我尝试使用near查找文档时:Activity.find().where('loc').near({center:[-71.072810,42.370227],spherical:true}).exec(function(err,docs){if(err)console.log(err);console.log(docs);})这是我得到的:{[MongoError:Unabletoexecutequery:errorprocessin

node.js - MongoDB/ Mongoose : find(query) and aggregate([ $match: query ]) results differ when using dates and $gte/$lte

我使用Mongoose构建聚合管道并且匹配工作正常,直到我想使用$gte和$lte运算符匹配日期。奇怪的是,如果我在常规find()中使用匹配查询,它会按预期工作:varquery={dueDate:{$gte:moment().toISOString()//I'vealsotriedusing$date{...}}};//findsentriesmatchingthequery[...,...]Model.find(query,callback);但是,使用$match和相同查询进行聚合不会:varaggregation=[{$match:query}];//findsnoentri

mongodb - order_by mongoengine中listfield的长度

我不想运行查询来获取所有超过6个com的文章,然后根据com列表的长度进行排序,为此,我这样做了:ArticleModel.objects.filter(com__6__exists=True).order_by('-com.length')[:50]假设com是一个ListField,但排序不起作用,我该如何解决?谢谢 最佳答案 标准查询不能这样做,因为“排序”需要在文档中存在的物理字段上完成。执行此操作的最佳方法是实际将您的“列表”计数作为文档中的另一个字段。这也使您的查询更有效率,并且可以为“计数器”字段编制索引,因此基本查询