mongodb 高階修改操作
1.更新文件
文件替換
最簡單的方法就是文件完全替換,如下就是一個完全替換的例子,先把需要更新的文件找出來並且賦值,然後修改所賦的值,最後再進行update:> a1=db.test.findOne()
{"_id":ObjectId("5738785d132e1e47e535a177"),"x":3.14,"y":5.5}
> a1
{"_id":ObjectId("5738785d132e1e47e535a177"),"x":3.14,"y":5.5}
>delete a1.x
true
> a1
{"_id":ObjectId ("5738785d132e1e47e535a177"),"y":5.5}
> a1.content={name:'job',age:11}
{"name":"job","age":11}
> a1
{
"_id":ObjectId("5738785d132e1e47e535a177"),
"y":5.5,
"content":{
"name":"job",
"age":11
}
}
> db.test.update({"_id":ObjectId("5738785d132e1e47e535a177")},a1)
WriteResult({"nMatched":1,"nUpserted":0,"nModified" :1})
使用修改器
通常文件只會有一部分需要更新,可以使用原子性的更新修改器對指定文件中的某些鍵進行更新"$set"修改器
"$set"修改器用來指定一個欄位的值,如果這個欄位不存在則建立它,例如先給test表新增一個phone屬性:> db.test.find()
{"_id":ObjectId("573957c55f74882a9bfa2d9e"),"name":"brent","age":30,"email":"[email protected]"}
>
> db.test.update({"_id":ObjectId("573957c55f74882a9bfa2d9e")},{ "$set":{phone:666}})
WriteResult({"nMatched":1,"nUpserted":0,"nModified":1})
>
> db.test.find()
{"_id":ObjectId("573957c55f74882a9bfa2d9e"),"name":"brent","age":30,"email":"[email protected]","phone":666}
然後用修改器再將phone該為888> db.test.update({"_id":ObjectId("573957c55f74882a9bfa2d9e")},{"$set":{phone:888}})
WriteResult({"nMatched":1,"nUpserted":0,"nModified":1})
> db.test.find()
{"_id":ObjectId("573957c55f74882a9bfa2d9e"),"name":"brent","age":30,"email":"[email protected]","phone":888}
使用"$set"修改器還可以修改欄位的屬性,例如可以把phone改成一個數組,還可以用"$unset"將鍵完全刪除:> db.test.update({"_id":ObjectId("573957c55f74882a9bfa2d9e")},{"$unset":{phone:888}})
WriteResult({"nMatched":1,"nUpserted":0,"nModified":1})
> db.test.find()
{"_id":ObjectId("573957c55f74882a9bfa2d9e"),"name":"brent","age":30,"email":"[email protected]"}
使用"$set"修改內嵌文件:> db.test.find()
{"_id":ObjectId("573957c55f74882a9bfa2d9e"),"name":"brent","age":30,"email":"[email protected]"}
{"_id":ObjectId("57395fa85f74882a9bfa2d9f"),"id":{"phone":888,"address":"abc"}}
>
> db.test.update({"_id":ObjectId("57395fa85f74882a9bfa2d9f")},{"$set":{"id.phone":666}})
WriteResult({"nMatched":1,"nUpserted":0,"nModified":1})
>
> db.test.find()
{"_id":ObjectId("573957c55f74882a9bfa2d9e"),"name":"brent","age":30,"email":"[email protected]"}
{"_id":ObjectId("57395fa85f74882a9bfa2d9f"),"id":{"phone":666,"address":"abc"}}
"$inc"增加和減少
"$inc"修改器用來增加和減少已有鍵的值,只能用於整形,長整形或者雙精度浮點型的值,用在其它型別的值上面會報錯.對於不存在的鍵,像"$set"那樣也會自動建立相應的鍵,並且值為給定的值例如我們用"$inc"修改器給age值+1,原來是30,現在變成了31> db.test.find()
{"_id":ObjectId("573957c55f74882a9bfa2d9e"),"name":"brent","age":30,"email":"[email protected]"}
{"_id":ObjectId("57395fa85f74882a9bfa2d9f"),"id":{"phone":666,"address":"abc"}}
> db.test.update({"_id":ObjectId("573957c55f74882a9bfa2d9e")},{"$inc":{age:1}})
WriteResult({"nMatched":1,"nUpserted":0,"nModified":1})
> db.test.find()
{"_id":ObjectId("573957c55f74882a9bfa2d9e"),"name":"brent","age":31,"email":"[email protected]"}
{"_id":ObjectId("57395fa85f74882a9bfa2d9f"),"id":{"phone":666,"address":"abc"}}
如果要減少,則將age:1裡的1改成-1"$push"陣列修改器-新增元素
如果陣列已經存在,那麼"$push"會向已有的陣列末尾新增一個元素,如果沒有就建立一個新的陣列 ,下面這個例子會建立一個表示comments的陣列:> db.test.find()
{"_id":ObjectId("573957c55f74882a9bfa2d9e"),"name":"brent","age":30,"email":"[email protected]","phone":888}
{"_id":ObjectId("57395fa85f74882a9bfa2d9f"),"id":{"phone":666,"address":"abc"}}
> db.test.update({"_id":ObjectId("573957c55f74882a9bfa2d9e")},{"$push":{comments:
...{name:"jack",content:"good"}
...}})
WriteResult({"nMatched":1,"nUpserted":0,"nModified":1})
> db.test.find()
{"_id":ObjectId("573957c55f74882a9bfa2d9e"),"name":"brent","age":30,"email":"[email protected]","phone":888,"comments":[{"name":"jack","content":"good"}]}
{"_id":ObjectId("57395fa85f74882a9bfa2d9f"),"id":{"phone":666,"address":"abc"}}
繼續給comments新增值:> db.test.update({"_id":ObjectId("573957c55f74882a9bfa2d9e")},{"$push":{comments:{name:"tom",content:"very good"}}})
WriteResult({"nMatched":
相關推薦
mongodb 高階修改操作
前面我們已經介紹了mongodb的基本操作:mongodb基本操作下面是介紹一些高階的增刪改查操作.1.更新文件文件替換最簡單的方法就是文件完全替換,如下就是一個完全替換的例子,先把需要更新的文件找出來並且賦值,然後修改所賦的值,最後再進行update:> a1=db.
MongoDB高階操作(2)
查詢方法-常用查詢方法
查詢多條資料 --
db.集合名稱.find({條件文件})
查詢一條資料 --
db.集合名稱.findOne({條件文件})
結果格式化 --pretty()方法 --
db.集合名稱.find({條件文件}).pretty()
比較運算子
a
node.js使用mongodb進行刪除操作和修改操作
刪除資料
//這個模組裡封裝了所有對資料庫的常用操作,不管資料庫的什麼操作,都需要連線資料庫
var MongoClient = require("mongodb").MongoClient;
fun
mongodb高階操作(2)-查詢
1.查詢文件find介紹
mongodb中使用find來進行查詢.find的第一個引數決定了要返回哪些文件,這個引數是一個文件,用於指定查詢條件.
如果不指定條件預設就是{},那麼就是查詢所有文件.
> db.test.find(){"_i
mongodb 高階查詢 高階操作 非常全
面向文件的 NoSQL 資料庫主要解決的問題不是高效能的併發讀寫,而是保證海量資料儲存 的同時,具有良好的查詢效能。
MongoDB 最大的特點是他支援的查詢語言非常強大,其語法有點類似於面向物件的查詢語 言,幾乎可以實現類似關係資料庫單表查詢的絕大部分功能,
mongoDB的高階查詢和高階修改
db.c1.remove(); 刪除c1集合中所有的資料
db.c1.remove("條件"); 刪除c1集合中符合條件的所有的資料
修改資料把user3修改成user30:
若已經插入db.c1.insert({name:"user3",age:30});
{ "_id" : ObjectId(
Python學習筆記——MongoDB高階操作
目錄
$sort
$skip
安全
超級管理員
備份與恢復
備份
恢復
聚合 aggregate
聚合(aggregate)主要用於計算資料,類似sql中的sum()、avg()
語法
db.集合名稱.aggrega
55.Python修煉之路【60-MongoDB高階操作-聚合 aggregate】2018.06.13
聚合 aggregate聚合(aggregate)主要用於計算資料,類似sql中的sum()、avg()語法db.集合名稱.aggregate([{管道:{表示式}}])
管道管道在Unix和Linux中一般用於將當前命令的輸出結果作為下一個命令的輸入ps ajx | gre
python資料庫-mongoDB的高階查詢操作(55)
一、MongoDB索引
為什麼使用索引?
假設有一本書,你想看第六章第六節講的是什麼,你會怎麼做,一般人肯定去看目錄,找到這一節對應的頁數,然後翻到這一頁。這就是目錄索引,幫助讀者快速找到想要的章節。在資料庫中,我們也有索引,其目的當然和我們翻書一樣,能幫助我們提高查詢的效率。索引就像目錄一樣,減
MongoDb的基本操作快速入門
基本操作 mongodb mongodb增刪該查操作示例 mongodb快速入門 1.MongoDb簡介 mongodb是一個基於分布式存儲的開源數據庫系統又被稱為文檔數據庫,可以將數據存儲為一個文檔,數據結構有鍵值對(key=>value)對組成,存儲的文檔類似於JSON對象(BS
node.js零基礎詳細教程(7):node.js操作mongodb,及操作方法的封裝
font 裏的 ges 格式 上進 ins 方法 回調函數 方式 第七章 建議學習時間4小時 課程共10章
學習方式:詳細閱讀,並手動實現相關代碼
學習目標:此教程將教會大家 安裝Node、搭建服務器、express、mysql、mongodb、編寫後臺業務邏輯、編寫接口
@Modifying 註解完成修改操作
rem transacti runt ransac soft require spring base support 以上我們做的都是查詢,那要如何實現 修改、刪除和添加呢? 可以通過以下兩種方式: (1)通過實現 CrudRepository 接口來完成(以後介紹); (
mongodb的基本操作
hang 默認 數據庫名 capped img .so 全部 html 文檔
查詢所有的數據庫
show dbs
指定到一個數據庫/或者創建
use 數據庫名
指定儲存大小
db.createCollection("mycoll",{capped:true,size 10
【MongoDB】MongoDB的一些操作命令
更新 use 使用 查看 count 一個 對象 分頁 ins 我們首先應該知道MongoDB的數據結構:MongoDB:庫-->集合-->JSON對象
查看 show dbs //查看有哪些庫 show collections //查看庫中有哪些
數據庫數據的批量修改操作
let 數據庫 不能 count rom 數據導入 數據庫數據 執行 批量修改 如果有大量不同數據要進行修改可以執行一下SQL (此為Sql Server)
1.首先將要修改的數據導入數據庫然後進行如下操作
// 2.刪除要修改數據中的為空 和 為 null 的數據
Tomcat6.0常用修改操作匯總
rar processes set return writing cnblogs pac tle top 1.修改端口Tomcat默認端口為8080,如果需要同時啟動多個Tomcat服務,就需要修改新的Tomcat服務的端口以防止沖突:為了同時可以啟動更多的Tomcat服務
【網絡爬蟲入門05】分布式文件存儲數據庫MongoDB的基本操作與爬蟲應用
數據庫的操作 理解 src web 文件存儲 學習 json格式 關系型 log 【網絡爬蟲入門05】分布式文件存儲數據庫MongoDB的基本操作與爬蟲應用
廣東職業技術學院 歐浩源
1、引言
網絡爬蟲往往需要將大量的數據存儲到數據庫中,常用的有MySQL、Mon
MongoDB 之 幽靈操作避免
出現 等待 原因 依然 觸發 才會 job -s style 進行靜態加載數據到集合的過程中可能會出現。
假設建立一個任務(Job):在MongoDB中進行千條更新操作,開始後迅速終止任務,終止所有更新操作,但依然發現新的更新任務在不斷出現,即使任務已經停止。
Mongodb aggregation 基本操作示例
6.5 find 記錄 查詢條件 logs 字段值 pan 示例 統計 MongoDB二個主要的操作:一個是查詢,另一個是統計。對於查詢而言,主要是find()方法,再配合Filters組合多個查詢條件。
對於統計而言,則主要是aggregate操作,比如 group、su
.NET 對 XML 進行創建,增加,刪除,修改操作整理
res add post 做了 引用 nbsp order protected png
前言:
最近做了一個項目,程序A在一個服務器程序B在另一臺服務器,然而主程序A需要訪問程序B的圖片集文件夾下載到本服務器上,為了防止多次對Web Services進行調用,在主