Mongodb中使用$each向數(shù)組字段插入多個(gè)元素的操作方法
定義
$each操作符應(yīng)用在UPDATE操作中的$addToSet和$push操作符當(dāng)中。與$addToSet搭配使用時(shí),將數(shù)組中的多個(gè)值插入到數(shù)組字段當(dāng)中。當(dāng)指定插入的元素不存在時(shí),數(shù)據(jù)才插入目標(biāo)數(shù)組。按照下面的形式與$addToSet搭配使用。
{ $addToSet: { <field>}: { $each: [ <value1>, <value2>, ...]}}與$push操作符搭配使用,將指定數(shù)組中的所有元素插入到目標(biāo)數(shù)組。當(dāng)然,$push與$each操作符混合使用時(shí),還可以搭配$position, $slice, $sort等操作符。$push與$each搭配使用時(shí),按照下面的形式。
{$push: {<field>: {$each: [<value1>, <value2>, ...]}}}行為
- 自mongodb5.0開始,UPDATE操作按照字段名稱的字典順序更新字段。當(dāng)字段中包含數(shù)字時(shí),按照數(shù)字順序依次更新字段。當(dāng)然,對(duì)一個(gè)文檔的多個(gè)字段操作,是原子性的。
應(yīng)用
搭配使用$each和$push操作符
下面的例子中,將數(shù)組[90, 92, 85]的每一個(gè)元素插入到字段scores當(dāng)中。
db.students.updateOne(
{name: "joe"},
{$push: { scores: {$each: [90, 92, 85]}}}
)搭配使用$each和$addToSet操作符
向集合inventory中插入數(shù)據(jù)
db.inventory.insertOne(
{_id:2, item: "cable", tags: ["electronics", "supplies"]}
)更新新插入的數(shù)據(jù),向tags數(shù)組中添加多個(gè)元素["camera", "electronics", "accessories"],當(dāng)指定元素在文檔字段tags存在時(shí),則不需要插入。
db.inventory.updateOne(
{_id: 2},
{$addToSet: {tags: {$each: ["camera", "electronics", "accessories"]}}}
)查詢更新后的結(jié)果
db.inventory.find({_id: 2})
[
{
"_id": 2,
"item": "cable",
"tags": [
"electronics",
"supplies",
"camera",
"accessories"
]
}
]到此這篇關(guān)于Mongodb中使用$each向數(shù)組字段插入多個(gè)元素的操作方法的文章就介紹到這了,更多相關(guān)Mongodb $each插入元素內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mongodb?刪除文檔Delete與Remove的區(qū)別解析
這篇文章主要介紹了Mongodb?刪除文檔Delete與Remove的區(qū)別,要從集合中刪除所有文檔,請(qǐng)將空過(guò)濾器文檔傳遞{}給該?db.collection.deleteMany()方法,本文通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-08-08
MongoDB快速入門筆記(三)之MongoDB插入文檔操作
這篇文章主要介紹了MongoDB快速入門筆記(三)之MongoDB插入文檔操作 的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06
MongoDB數(shù)據(jù)庫(kù)文檔操作方法(必看篇)
下面小編就為大家?guī)?lái)一篇MongoDB數(shù)據(jù)庫(kù)文檔操作方法(必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07
mongodb基礎(chǔ)入門_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了mongodb基礎(chǔ)入門的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08

