Mongodb中使用$each向數組字段插入多個元素的操作方法
定義
$each操作符應用在UPDATE操作中的$addToSet和$push操作符當中。與$addToSet搭配使用時,將數組中的多個值插入到數組字段當中。當指定插入的元素不存在時,數據才插入目標數組。按照下面的形式與$addToSet搭配使用。
{ $addToSet: { <field>}: { $each: [ <value1>, <value2>, ...]}}與$push操作符搭配使用,將指定數組中的所有元素插入到目標數組。當然,$push與$each操作符混合使用時,還可以搭配$position, $slice, $sort等操作符。$push與$each搭配使用時,按照下面的形式。
{$push: {<field>: {$each: [<value1>, <value2>, ...]}}}行為
- 自mongodb5.0開始,UPDATE操作按照字段名稱的字典順序更新字段。當字段中包含數字時,按照數字順序依次更新字段。當然,對一個文檔的多個字段操作,是原子性的。
應用
搭配使用$each和$push操作符
下面的例子中,將數組[90, 92, 85]的每一個元素插入到字段scores當中。
db.students.updateOne(
{name: "joe"},
{$push: { scores: {$each: [90, 92, 85]}}}
)搭配使用$each和$addToSet操作符
向集合inventory中插入數據
db.inventory.insertOne(
{_id:2, item: "cable", tags: ["electronics", "supplies"]}
)更新新插入的數據,向tags數組中添加多個元素["camera", "electronics", "accessories"],當指定元素在文檔字段tags存在時,則不需要插入。
db.inventory.updateOne(
{_id: 2},
{$addToSet: {tags: {$each: ["camera", "electronics", "accessories"]}}}
)查詢更新后的結果
db.inventory.find({_id: 2})
[
{
"_id": 2,
"item": "cable",
"tags": [
"electronics",
"supplies",
"camera",
"accessories"
]
}
]到此這篇關于Mongodb中使用$each向數組字段插入多個元素的操作方法的文章就介紹到這了,更多相關Mongodb $each插入元素內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
MongoDB系列教程(六):java操作mongodb實例
這篇文章主要介紹了MongoDB系列教程(六):java操作mongodb實例,本文講解了java中操作mongodb數據增加、刪除、修改、查詢數據等代碼實例,需要的朋友可以參考下2015-05-05
關于CentOS 8 搭建MongoDB4.4分片集群的問題
在MongoDB里面存在另一種集群,就是分片技術,可以滿足MongoDB數據量大量增長的需求。這篇文章主要介紹了CentOS 8 搭建MongoDB4.4分片集群的問題,需要的朋友可以參考下2021-10-10
Windows系統下安裝MongoDB與Robomongo環(huán)境詳解
這篇文章主要給大家介紹了在Windows系統下安裝MongoDB與Robomongo環(huán)境的相關資料,文中介紹的非常詳細,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-04-04

