欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

深入解析MongoDB中insert?into?select寫法

 更新時(shí)間:2025年06月13日 09:14:48   作者:kahnyao  
MongoDB是一個(gè)介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的,這篇文章主要介紹了MongoDB中insert?into?select寫法,需要的朋友可以參考下

MongoDB概念

MongoDB 是一個(gè)文檔數(shù)據(jù)庫(以 JSON 為數(shù)據(jù)模型),由 C++ 語言編寫,旨在為 WEB 應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。
MongoDB 是一個(gè)介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,數(shù)據(jù)格式是BSON ,一種類似 JSON 的二進(jìn)制形式的存儲(chǔ)格式,簡稱Binary JSON ,和 JSON 一樣支持內(nèi)嵌的文檔對象和數(shù)組對象,因此可以存儲(chǔ)比較復(fù)雜的數(shù)據(jù)類型。MongoDB 最大的特點(diǎn)是它支持的查詢語言非常強(qiáng)大,其語法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對數(shù)據(jù)建立索引。原則上 Oracle 和 MySQL 能做的事情, MongoDB 都能做(包括 ACID 事務(wù))。

MongoDB特點(diǎn):

半結(jié)構(gòu)化,在一個(gè)集合中,文檔所擁有的字段并不需要是相同的,而且也不需要對所用的字段進(jìn)行聲明。
弱關(guān)系, MongoDB沒有外鍵的約束,也沒有非常強(qiáng)大的表連接能力。

優(yōu)勢:

MongoDB 基于靈活的 JSON 文檔模型,非常適合敏捷式的快速開發(fā)。與此同時(shí),其與生俱來的高可用、 高水平擴(kuò)展能力使得它在處理海量、高并發(fā)的數(shù)據(jù)應(yīng)用時(shí)頗具優(yōu)勢。

MongoDB中insert into select寫法

創(chuàng)建測試數(shù)據(jù)

use testdb
db.test_t.insertOne({_id:1,name:'zhangsan',age:30});
db.test_t.insertOne({_id:2,name:'lisi',age:33});
db.test_t.insertOne({_id:3,name:'wangwu',age:23});
db.test_t.insertOne({_id:4,name:'zhaoliu',age:26});
db.test_t.insertOne({_id:5,name:'sunqi',age:25});
db.test_t.insertOne({_id:6,name:'zhouba',age:23});
db.test_t.insertOne({_id:7,name:'wujiu',age:24});
db.test_t.insertOne({_id:8,name:'zhengshi',age:29});

方法1:使用 aggregate 和 insert 實(shí)現(xiàn)

語法:

db.sourceCollection.aggregate([
  { $match: { /* 查詢條件 */ } },    // 查詢條件,可以根據(jù)需要設(shè)置
  { $project: { /* 可選:選擇需要的字段 */ } },
  { $merge: { into: "targetCollection" } }  // 將查詢結(jié)果插入到目標(biāo)集合
])

解釋:

  • aggregate():通過聚合管道查詢 sourceCollection 中的數(shù)據(jù)。
  • $match:你可以在這里定義查詢條件(類似 SQL 中的 WHERE)。
  • $project:用來選擇字段,類似于 SQL 中的 SELECT。
  • $merge:將查詢結(jié)果插入到 targetCollection 中,相當(dāng)于 SQL 中的 INSERT INTO

示例:

db.test_t.aggregate([
  { $match: {"_id": {$lte: 3}} },  // 獲取_id小于等于3的文檔
  { $merge: { into: "student" } }  // 將數(shù)據(jù)插入到 student 中
])

注意: 

  • $merge 在 MongoDB 4.2 及以上版本中可用。如果你使用的是較低版本的 MongoDB,可能需要先查詢數(shù)據(jù),然后通過應(yīng)用邏輯(例如,使用 insertMany)將數(shù)據(jù)插入目標(biāo)集合。
  • $merge 會(huì)根據(jù)目標(biāo)集合的不同配置(如 whenMatched 和 whenNotMatched)對數(shù)據(jù)進(jìn)行合并或者插入。你可以根據(jù)需要選擇合適的選項(xiàng)。

方法2:先查詢,再手動(dòng)插入

// 查詢數(shù)據(jù)
const data = db.sourceCollection.find({ /* 查詢條件 */ }).toArray();
// 將查詢到的數(shù)據(jù)插入到 targetCollection
db.targetCollection.insertMany(data);

示例

const data = db.test_t.find({ "_id": {$lte: 3} }).toArray();
db.student.insertMany(data);

到此這篇關(guān)于MongoDB中insert into select寫法的文章就介紹到這了,更多相關(guān)MongoDB insert into select內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MongoDB數(shù)據(jù)庫部署環(huán)境準(zhǔn)備及使用介紹

    MongoDB數(shù)據(jù)庫部署環(huán)境準(zhǔn)備及使用介紹

    這篇文章主要為大家介紹了MongoDB數(shù)據(jù)庫部署環(huán)境準(zhǔn)備以及基本的使用介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • 淺談MongoDB內(nèi)部的存儲(chǔ)原理

    淺談MongoDB內(nèi)部的存儲(chǔ)原理

    這篇文章主要介紹了淺談MongoDB內(nèi)部的存儲(chǔ)原理,MongoDB是一個(gè)面向文檔的數(shù)據(jù)庫系統(tǒng)。使用C++編寫,不支持SQL,但有自己功能強(qiáng)大的查詢語法,需要的朋友可以參考下
    2023-07-07
  • MongoDB CRUD操作中的插入實(shí)例教程

    MongoDB CRUD操作中的插入實(shí)例教程

    這篇文章主要給大家介紹了關(guān)于MongoDB CRUD操作中的插入的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用MongoDB具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Windows系統(tǒng)安裝運(yùn)行Mongodb服務(wù)

    Windows系統(tǒng)安裝運(yùn)行Mongodb服務(wù)

    今天小編就為大家分享一篇關(guān)于Windows系統(tǒng)安裝運(yùn)行Mongodb服務(wù),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • Mongo DB增刪改查命令

    Mongo DB增刪改查命令

    本文給大家匯總介紹了一下Mongo DB數(shù)據(jù)庫的增刪改查命令以及部分的示例,有需要的小伙伴可以參考下,希望對大家學(xué)習(xí)Mongo DB能夠有所幫助
    2016-12-12
  • db.serverStatus()命名執(zhí)行時(shí)報(bào)無權(quán)限問題的解決方法

    db.serverStatus()命名執(zhí)行時(shí)報(bào)無權(quán)限問題的解決方法

    這篇文章主要給大家介紹了關(guān)于db.serverStatus()命名執(zhí)行時(shí)報(bào)無權(quán)限問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • mongodb的安裝和開機(jī)自啟動(dòng)詳細(xì)講解

    mongodb的安裝和開機(jī)自啟動(dòng)詳細(xì)講解

    這篇文章主要介紹了mongodb的安裝和開機(jī)自啟動(dòng)詳細(xì)講解,,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • MongoDB 索引創(chuàng)建和查詢優(yōu)化的方法

    MongoDB 索引創(chuàng)建和查詢優(yōu)化的方法

    這篇文章主要介紹了MongoDB 索引創(chuàng)建和查詢優(yōu)化的方法,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • MongoDB創(chuàng)建一個(gè)索引而性能提升1000倍示例代碼

    MongoDB創(chuàng)建一個(gè)索引而性能提升1000倍示例代碼

    這篇文章主要給大家介紹了關(guān)于如何在MongoDB中創(chuàng)建一個(gè)索引而性能提升1000倍的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • Mongo Shell 執(zhí)行環(huán)境的基本操作

    Mongo Shell 執(zhí)行環(huán)境的基本操作

    Mongo Shell 是 MongoDB 的交互式 JavaScript shell,用于與 MongoDB 數(shù)據(jù)庫進(jìn)行交互,這篇文章主要介紹了Mongo Shell 執(zhí)行環(huán)境,需要的朋友可以參考下
    2025-02-02

最新評(píng)論