草庐IT

auto-update

全部标签

node.js - Mongo/Mongoose Invalid atomic update value 错误

我正在尝试使用MongoosefindOneAndUpdate函数编写对Mongo文档的更新。本质上,我有一个文档,其中包含另一个模式的数组,当我尝试附加更多这些模式类型时,我收到以下错误:[Error:Invalidatomicupdatevaluefor$__.Expectedanobject,receivedobject]我很难弄清楚这个错误的含义,更不用说它的来源了。我正在尝试更新的数据如下:{section_id:51e427ac550dabbb0900000d,version_id:7,last_editor_id:51ca0c4b5b0669307000000e,chan

javascript - 在 meteor 中将元素添加到数组 collections.update

Polls.update({_id:id},{$set:{already_voted[length]:ip});现在这显然行不通。我不能简单地在里面放一个可变的“长度”。基本上我有already_voted这是一个数组,我想向这个数组添加一个新的ip。我目前处理这个问题的方法是获取旧长度并使用旧长度作为新索引来添加元素。我想知道我应该怎么做,因为我当前的设置不起作用。澄清一下:我没有整个数组,我只是想在投票文档的数组中添加一个新元素。 最佳答案 使用$pushMongo运算符:Polls.update({_id:id},{$push

node.js - NodeJS + Mongoose : Updating all fields on a Mongoose model

我正在使用Node、MongoDB和Mongoose构建一个api。困扰我的一件事是您似乎无法一次设置多个字段:app.put('/record/:id',function(req,res){Record.findById(req.params.id,function(err,doc){if(!err){doc.update(req.params);doc.save();...但是,您似乎必须制定更新查询并在模型对象而不是文档对象上运行它。除非您想分配单个属性并在最后运行save()。有什么方法可以在不编写Mongo查询的情况下完成此任务? 最佳答案

node.js - Mongoose .js : Atomic update of nested properties?

使用Mongoose3.6.4版假设我有一个这样的MongoDB文档:{"_id":"5187b74e66ee9af96c39d3d6","profile":{"name":{"first":"Joe","last":"Pesci","middle":"Frank"}}}我有以下用户架构:varUserSchema=newmongoose.Schema({_id:{type:String},email:{type:String,required:true,index:{unique:true}},active:{type:Boolean,required:true,'default':

Java + MongoDB : Updating multiple fields in a document

我正在尝试一次更新单个MongoDB文档中的多个字段,但只更新了一个字段。我有一个集合user,其中用户由customer_user_id唯一定义。我想更新某个用户的birth_year和country字段。这就是我正在做的://Definethesearchquery:DBCollectioncol=md.getDb().getCollection("user");BasicDBObjectsearchQuery=newBasicDBObject("customer_user_id",customer_user_id);//Definetheupdatequery:BasicDBOb

PHP/MongoDB : update a value in an array

我有以下mongodb对象:{"_id":ObjectId("4d0b9c7a8b012fe287547157"),"messages":{"0":{"toUname":"Eamorr3","fromUname":"Eamorr2","time":1292606586,"id":"ABCDZZZ","subject":"asdf","message":"asdf","read":0//Iwanttochangethisto1!},"1":{"toUname":"Eamorr1","fromUname":"Eamorr3","time":1292606586,"id":"EFGHZZZ"

mongodb - 在尝试升级到 4.0 之前使用 brew upgrade Mongo update from 3.4 to 4.0 error : The data files need to be fully upgraded to version 3. 6

mongod我收到以下错误**重要提示:升级问题:在尝试升级到4.0之前,数据文件需要完全升级到版本3.6;见http://dochub.mongodb.org/core/4.0-upgrade-fcv了解更多详情。但是如果我使用brewservicesstartmongodb然后mongo服务器就可以启动了。修复mongod错误我找到了类似的错误线程ErrorwhileupgradingMongodbfrom3.2to3.6所以我降级到mongodb3.6,然后运行db.adminCommand({setFeatureCompatibilityVersion:"3.6"})然后重新安

Java, MongoDB : How to update every object while iterating a huge collection?

我收集了大约100万条记录,每条记录有20个字段。我需要更新每个记录(文档)中的整数flag字段,随机分配1或2给这个flag字段。在整个集合上迭代光标时如何做到这一点?第二次搜索MongoDB已经找到的对象只是为了能够更新它似乎不是一个好主意:DBCursorcursor=coll.find();try{while(cursor.hasNext()){BasicDBObjectobj=(BasicDBObject)cursor.next();...coll.update(query,newObj)}}finally{cursor.close();}如何有效地更新具有不同值的巨大Mon

mongodb - db.collection.update() 所有文件

我尝试用重命名集合的所有文档中的一个字段db.coll.update({},{$rename:{'originField':'newField'}});但是只有一个文件被改变了,为什么? 最佳答案 默认情况下,MongoDB中的所有更新都是单数的。您必须在命令中添加第三个选项才能使:db.coll.update({},{$rename:{'originField':'newField'}},{multi:true});如果您使用的是3.2及以上版本,则可以使用updateMany():db.coll.updateMany({},{$

c++ - C++14中扣除 'auto func(int)'前使用 'auto'

我在GCC中使用C++14编译了以下程序。#includeusingnamespacestd;autofunc(inti);intmain(){autoret=func(5);return0;}autofunc(inti){if(i==1)returni;elsereturnfunc(i-1)+i;}但是,我收到以下错误。Infunction'intmain()':8:16:error:useof'autofunc(int)'beforedeductionof'auto'autoret=func(5);那么,我在这里错过了什么? 最佳答案