jjzjj

AddToSet

全部标签

javascript - MongoDB $addtoSet 和 $set 在同一个操作中

在我的Meteor/javascript应用程序中,我试图通过$addToSet在该文档的某个部分更新特定的MongoDB文档,然后在不同的部分通过$set同一份文件的一部分。这两个部分之间没有重叠,所以从我在网上阅读的内容来看,它应该是安全的。但我似乎无法使语法正确。如何在一个javascript命令中执行这两个操作?下面作为两个单独的命令工作,我认为如果它们可以组合成一个对Mongo的写入会更快。Collection.update({_id:documentId},{$addToSet:{data:{$each:newData}}});Collection.update({_id:

javascript - MongoDB $addtoSet 和 $set 在同一个操作中

在我的Meteor/javascript应用程序中,我试图通过$addToSet在该文档的某个部分更新特定的MongoDB文档,然后在不同的部分通过$set同一份文件的一部分。这两个部分之间没有重叠,所以从我在网上阅读的内容来看,它应该是安全的。但我似乎无法使语法正确。如何在一个javascript命令中执行这两个操作?下面作为两个单独的命令工作,我认为如果它们可以组合成一个对Mongo的写入会更快。Collection.update({_id:documentId},{$addToSet:{data:{$each:newData}}});Collection.update({_id:

node.js - 在对象数组上使用 Mongoose/MongoDB $addToSet 功能

假设我在Mongoose架构上有这个数组属性('articles'):articles:[{kind:'bear',hashtag:'foo'},{kind:'llama',hashtag:'baz',},{kind:'sheep',hashtag:'bar',}]如何使用$addToSethttps://docs.mongodb.org/manual/reference/operator/update/addToSet/通过检查hashtag的值来添加到这个数组中,看看它是否是唯一的?例如,如果我想将以下对象添加到上述数组中,我希望Mongo将其作为重复项“拒绝”:{kind:'to

node.js - 在对象数组上使用 Mongoose/MongoDB $addToSet 功能

假设我在Mongoose架构上有这个数组属性('articles'):articles:[{kind:'bear',hashtag:'foo'},{kind:'llama',hashtag:'baz',},{kind:'sheep',hashtag:'bar',}]如何使用$addToSethttps://docs.mongodb.org/manual/reference/operator/update/addToSet/通过检查hashtag的值来添加到这个数组中,看看它是否是唯一的?例如,如果我想将以下对象添加到上述数组中,我希望Mongo将其作为重复项“拒绝”:{kind:'to

更新插入时,mongodb $addToSet 到非数组字段

我最近的项目遇到了和这个一样的问题:thequestiondb.test.update({name:"abc123","config.a":1},{$addToSet:{config:{a:1,b:2}}},true)会产生这样的错误:Cannotapply$addToSettoanon-arrayfield但改成之后:db.test.update({name:"abc123","config.a":{$in:[1]}},{$addToSet:{config:{a:1,b:2}}},true)Itworksfine.还引用了此链接:Answer任何人都可以解释发生了什么吗?"confi

更新插入时,mongodb $addToSet 到非数组字段

我最近的项目遇到了和这个一样的问题:thequestiondb.test.update({name:"abc123","config.a":1},{$addToSet:{config:{a:1,b:2}}},true)会产生这样的错误:Cannotapply$addToSettoanon-arrayfield但改成之后:db.test.update({name:"abc123","config.a":{$in:[1]}},{$addToSet:{config:{a:1,b:2}}},true)Itworksfine.还引用了此链接:Answer任何人都可以解释发生了什么吗?"confi

MongoDB有条件地按特定字段在数组中$addToSet子文档

有没有办法根据数组上子文档中的特定键字段有条件地$addToSet?这是我的意思的一个例子-给定由以下示例Bootstrap生成的集合;clsdb.so.remove();db.so.insert({"Name":"fruitBowl","pfms":[{"n":"apples"}]});n定义了一个唯一的文档键。我只希望在任何时候数组中都有一个具有相同n值的条目。所以我希望能够使用n更新pfms数组,这样我就得到了这个;{"Name":"fruitBowl","pfms":[{"n":"apples","mState":1111234}]}这就是我现在的位置;db.so.update

MongoDB有条件地按特定字段在数组中$addToSet子文档

有没有办法根据数组上子文档中的特定键字段有条件地$addToSet?这是我的意思的一个例子-给定由以下示例Bootstrap生成的集合;clsdb.so.remove();db.so.insert({"Name":"fruitBowl","pfms":[{"n":"apples"}]});n定义了一个唯一的文档键。我只希望在任何时候数组中都有一个具有相同n值的条目。所以我希望能够使用n更新pfms数组,这样我就得到了这个;{"Name":"fruitBowl","pfms":[{"n":"apples","mState":1111234}]}这就是我现在的位置;db.so.update

c# - 使用 AddToSet 更新不使用 MongoDB C# 更新空值

使用MongoDB,当数组为空时,我无法将en元素添加到数组中。如果我从控制台添加项目,AddToSet会按预期工作。我正在使用10gen的官方C#驱动程序。varquery=Query.EQ("_id",objectId);varitemDoc=item.ToBsonDocument();//itemsisanarraybutcurrentlynullvarupdate=MongoDB.Driver.Builders.Update.AddToSet("items",itemDoc);//YUNoWork?//somefielddoesn'texistvarworkingUpdate=

node.js - Mongoose:无法使用 $addToSet 或 $push 将新对象添加/推送到数组

我使用Nodejs、Hapijs和Mongoose。我有一个架构和模型如下。varschema={name:{type:String,required:true},lectures:{}};varmongooseSchema=newmongoose.Schema(schema,{collection:"Users"});mongoose.model("Users",mongooseSchema);出于某种原因,我需要保持“讲座”作为混合型。在保存/创建文档时,我创建了一个嵌套属性lectures.physics.topic[],其中topic是一个数组。现在,我正在尝试使用$addTo