MongoDB-BSON 协议与类型
前言:
MongoDB 是一个高性能、无模式的 NoSQL 数据库,广泛应用于大数据处理和实时数据存储。作为一个数据库系统,MongoDB 的核心之一就是其使用的 BSON(Binary JSON)格式,它用于存储数据以及在客户端和数据库之间传输数据。
什么是 BSON?
BSON(Binary JSON)是一种用于数据存储和交换的二进制格式。它是 JSON 格式的扩展,提供了对更复杂数据类型的支持。BSON 的设计目标是提供一种轻量级的、具有高效二进制编码的方式来存储和传输数据,尤其是针对 MongoDB 的存储需求。
BSON 与 JSON 的差异
尽管 BSON 是 JSON 的二进制扩展,它们之间有若干重要差异:
1、二进制格式:BSON 采用二进制格式,这使得它比 JSON 更加紧凑,存储和传输效率更高。
2、数据类型支持:BSON 支持 JSON 不支持的一些数据类型,例如二进制数据、日期类型、正则表达式等。
3、自描述结构:BSON 格式本身包含字段的类型信息,读取时无需额外的解析。
4、大小和性能:由于 BSON 是二进制格式,相较于 JSON(纯文本),它在存储和读取时通常具有更高的性能和更小的占用空间。
BSON 数据类型
BSON 提供了许多扩展 JSON 数据类型,满足 MongoDB 数据库对数据表示和存储的需求。以下是 BSON 支持的一些常见数据类型。
1. Null (null)
-
描述:表示一个空值或无效值,类似于 JSON 中的 null。
-
示例:
javascriptCopy Code{ “field”: null }
2. 布尔值 (Boolean)
-
描述:BSON 使用 true 或 false 来表示布尔值。
-
示例:
javascriptCopy Code{ “isActive”: true }
3. 整数类型 (Int32 和 Int64)
-
描述:BSON 支持两种整数类型:32位整数 (Int32) 和 64位整数 (Int64),分别表示较小和较大的整数。MongoDB 自动根据数据的范围选择存储形式。
-
示例:
javascriptCopy Code{ “age”: 25 } // 默认为 Int32
{ “timestamp”: NumberLong(“1622549093000”) } // Int64
4. 浮动类型 (Double)
-
描述:BSON 使用 64 位的 IEEE 754 双精度浮动值表示浮动类型。适用于需要高精度的计算或存储。
-
示例:
javascriptCopy Code{ “price”: 99.99 }
5. 字符串 (String)
-
描述:BSON 中的字符串是 UTF-8 编码的文本数据类型,类似于 JSON 中的字符串。
-
示例:
javascriptCopy Code{ “name”: “MongoDB” }
6. 二进制数据 (BinData)
-
描述:BSON 支持存储二进制数据,通常用于存储图像、音频等非文本数据。
-
示例:
javascriptCopy Code{ “file”: BinData(0, “binarydata”) }
7. 日期 (Date)
-
描述:BSON 使用 64 位整数来表示日期和时间,精确到毫秒。
-
示例:
javascriptCopy Code{ “createdAt”: new Date() }
8. 对象Id (ObjectId)
-
描述:ObjectId 是 MongoDB 的默认主键类型。它是一个 12 字节的唯一标识符,生成方式基于时间戳、机器 ID、进程 ID 和一个随机数。
-
示例:
javascriptCopy Code{ “_id”: ObjectId(“507f1f77bcf86cd799439011”) }
9. 数组 (Array)
-
描述:BSON 允许在一个字段中存储多个值,这些值可以是任何类型。与 JSON 数组类似。
-
示例:
javascriptCopy Code{ “tags”: [“database”, “NoSQL”, “MongoDB”] }
10. 嵌套文档 (Embedded Document)
-
描述:BSON 支持嵌套文档(即文档中的文档),允许存储复杂的结构化数据。
-
示例:
javascriptCopy Code{
“address”: {
“street”: “123 Main St”,
“city”: “New York”
}
}
11. 正则表达式 (RegEx)
-
描述:BSON 支持存储正则表达式,这是 JSON 不具备的功能。在 MongoDB 中,正则表达式常用于模式匹配查询。
-
示例:
javascriptCopy Code{ “pattern”: /abc/i }
- JavaScript 代码 (JavaScript)
-
描述:BSON 支持存储 JavaScript 代码,可以包含函数和脚本,通常用于动态计算和操作。
-
示例:
javascriptCopy Code{ “code”: function() { return 42; } }
13. 最小值/最大值 (MinKey 和 MaxKey)
-
描述:MinKey 和 MaxKey 是 BSON 中的特殊类型,分别表示最小值和最大值,常用于在查询中进行极限值比较。
-
示例:
javascriptCopy Code{ “minValue”: MinKey }
{ “maxValue”: MaxKey }
BSON 编码与解码
BSON 在存储数据时以二进制的形式进行编码,使得数据能够高效存储和传输。当客户端或服务器需要与数据库交互时,它们会将 BSON 数据进行编码和解码。MongoDB 提供了内置的序列化和反序列化机制,使用如 bson 库来处理 BSON 格式的编码和解码。
编码过程:
类型描述:每个 BSON 文档的每个字段都有类型描述符,指示该字段的数据类型。
键和值对:每个字段都由一个键(字符串类型)和一个值(可以是任何 BSON 支持的数据类型)组成。
文档结束符:BSON 文档以一个特定的结束符标记结束,确保数据结构完整性。
解码过程:
读取类型:在解码时,MongoDB 根据类型描述符来确定字段值的数据类型。
返回文档:解码后的 BSON 数据将转化为 JavaScript 对象或其他语言的对应数据结构。
BSON 协议与性能优化
MongoDB 使用 BSON 协议来优化性能,尤其是在读写性能和存储效率方面。与 JSON 相比,BSON 提供了更小的存储空间和更快的读取速度。通过支持二进制数据和日期类型等,BSON 能够有效存储各种应用场景中的数据。
压缩与存储:BSON 支持多种优化存储方式,包括压缩技术,这使得它在大数据量处理时更加高效。
索引优化:由于 BSON 格式的文档结构灵活,MongoDB 可以根据数据字段进行高效索引,提升查询性能。
结论
BSON 协议是 MongoDB 数据存储和传输的核心,它结合了高效的二进制编码、丰富的数据类型和灵活的存储结构。通过支持多种数据类型,BSON 使得 MongoDB 在处理各种复杂数据时非常高效。
相关文章:

MongoDB-BSON 协议与类型
前言: MongoDB 是一个高性能、无模式的 NoSQL 数据库,广泛应用于大数据处理和实时数据存储。作为一个数据库系统,MongoDB 的核心之一就是其使用的 BSON(Binary JSON)格式,它用于存储数据以及在客户端和数据…...

论文:IoU Loss for 2D/3D Object Detection
摘要:在2D/3D目标检测任务中,IoU (Intersection-over- Union)作为一种评价指标,被广泛用于评价不同探测器在测试阶段的性能。然而,在训练阶段,通常采用常见的距离损失(如L1或L2)作为损失函数,以最小化预测值…...

Electron-vue 框架升级 Babel7 并支持electron-preload webapck 4 打包过程记录
前言 我这边一直用的electron-vue框架是基于electron 21版本的,electron 29版本追加了很多新功能,但是这些新功能对开发者不友好,对electron构建出来的软件,使用者更安全,所以,我暂时不想研究electron 29版…...

信创改造 - Redis -》TongRDS 安装方式之单节点模式安装
安装前准备 安装 JDK 参考链接:安装 JDK 8【Linux】 语雀 创建用户 # 用户名可以自己起 useradd rds 上传安装包到服务器 单节点模式是由两个部署单元组成:1 个RDS 服务节点,1 个 RDS 中心节点。 上传到 /home/rds 用户文件夹࿰…...

经典C语言代码——part 19(链表)
【程序72】 题目:创建一个链表。 1.程序分析: 2.程序源代码: /*creat a list*/ #include "stdlib.h" #include "stdio.h" struct list { int data; struct list *next; }; typedef str…...

【Leetcode 每日一题】52. N 皇后 II
问题背景 n n n 皇后问题 研究的是如何将 n n n 个皇后放置在 n n n \times n nn 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n n n,返回 n n n 皇后问题 不同的解决方案的数量。 数据约束 1 ≤ n ≤ 9 1 \le n \le 9 1≤n≤9 解题…...

Scala的模式匹配(1)
package hfdobject Test34_1 {def main(args: Array[String]): Unit {//从数据库中获得数据 1,2,3,4//要显示给用户的是 一等,二等,三等,四等val level1val levelTxtlevel match {case 1>"一等&q…...

Oracle 11G DataGuard GAP 修复过程(通过主库scn增备恢复)
Oracle 11G DataGuard GAP 修复 (通过主库scn增备恢复) 介绍 DG GAP 顾名思义就是:DG不同步,当备库不能接受到一个或多个主库的归档日志文件时候,就发生了 GAP。 那么,如果遇到GAP如何修复呢?…...

redis的应用----缓存
redis的应用----缓存 一、缓存的概念二、使用redis作为缓存2.1使用redis作为缓存的原因2.2缓存机制的访问步骤 三、缓存的更新策略3.1定期更新3.2实时更新3.3淘汰策略 四、缓存常见的问题4.1缓存预热(Cache preheating)4.2缓存穿透(Cache penetration)4.3缓存雪崩(Cache avalan…...

「Mac畅玩鸿蒙与硬件41」UI互动应用篇18 - 多滑块联动控制器
本篇将带你实现一个多滑块联动的控制器应用。用户可以通过拖动多个滑块,动态控制不同参数(如红绿蓝三色值),并实时显示最终结果。我们将以动态颜色调节为例,展示如何结合状态管理和交互逻辑,打造一个高级的…...

SpringBoot两天
SpringBoot讲义 什么是SpringBoot? Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式…...

基于Java Springboot诗词学习APP且微信小程序
一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse微信开…...

3.建立本地仓库及常用命令
1.建立本地仓库 要使用Git对我们的代码进行版本控制,首先需要获得本地仓库 1)在电脑的任意位置创建一个空目录,作为我们的本地Git仓库 2)进入这个目录,右键点击Git Bash 窗口 3)执行命令git init 4) 如果创…...

【Linux——实现一个简易shell】
黑暗中的我们都没有说话,你只想回家,不想你回家............................................................... 文章目录 前言 一、【shell工作过程】 二、【命令行参数】 2.1、【获取命令行参数】 1、【输出命令行提示符】 2、【输入命令行参数】 2…...

python使用python-docx处理word
文章目录 一、python-docx简介二、基本使用1、新建与保存word2、写入Word(1)打开文档(2)添加标题(3)添加段落(4)添加文字块(5)添加图片(6…...

Typora设置自动上传图片到图床
Typora设置自动上传图片到图床 方法一:使用php 打开设置界面: 自定义命令: php F:/WWW/php-library/TyporaUploadImage.php ${filename}php代码: # TyporaUploadImage.php <?php // Set the API endpoint URL // $apiUrl…...

如何进行Appium实现移动端UI自动化测试呢?
🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 Appium是一个开源跨平台移动应用自动化测试框架。 既然只是想学习下Appium如何入门,那么我们就直奔主题。文章结构如下: 为什么要使用…...

PHP语法学习(第三天)
老规矩,先回顾一下昨天学习的内容 PHP语法学习(第二天) 主要学习了PHP变量、变量的作用域、以及参数作用域。 今天由Tom来打开新的篇章 文章目录 echo 和 print 区别PHP echo 语句实例 PHP print 语句实例 PHP 数组创建数组利用array() 函数 数组的类型索引数组关联…...

mac访达打开终端
选择文件夹打开 选中文件夹,然后右键即可: 在当前文件夹打开 在访达的当前文件夹长按option键 左下角出现当前文件夹路径 右键即可打开终端...

游戏引擎学习第30天
仓库: https://gitee.com/mrxiao_com/2d_game 回顾 在这段讨论中,重点是对开发过程中出现的游戏代码进行梳理和进一步优化的过程。 工作回顾:在第30天,回顾了前一天的工作,并提到今天的任务是继续从第29天的代码开始,…...

git将远端库地址加入到本地库中
git将远端库地址加入到本地库中 git remote add test https://test.git其中test表示远端库的名称,url表示远端库的地址,这样添加后在.git/config配置文件中就能够看到新的remote已经被添加,并且通过git remote -v能够看到新添加的远端库...

学习HTML第三十五天
学习文章目录 一.全局属性二..meta 元信息 一.全局属性 常用的全局属性 id 给标签指定唯一标识,注意: id 是不能重复的。 作用:可以让 label 标签与表单控件相关联;也可以与 CSS 、 JavaScript 配合使 用class 给标签指定类名&a…...

MySQL 事务和索引
关于 MySQL 事务特性、 索引特性。 请你简单解释一下 MySQL 事务是什么? 事务是一组数据库操作,这些操作要么全部成功执行,要么全部不执行。它是一个不可分割的工作单元,用于保证数据的一致性和完整性。 请详细阐述一下事务的 AC…...

Matlab学习笔记
Magic Traits 文件读取 fid fopen(fn,rt);out fscanf(fid,spec,inf);fclose(fid);2. 读取数据 fid fopen(fn,rt); out textscan(fid,spec);运算篇 fprintf(" xxx %d",a),当a为数组时,会输出数组数目行,每行是一个元素相关文…...

在1~n中、找出能同时满足用3除余2,用5除余3,用7除余2的所有整数。:JAVA
链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 题目描述 在1~n中、找出能同时满足用3除余2,用5除余3,用7除余2的所有整数。 输入描述: 输入一行,包含一个正整数n ,n在100000以内 输出描述:…...

《极品飞车》游戏运行是弹窗“msvcp140.dll文件丢失”是如何造成的?“找不到msvcp140.dll文件”怎么解决?教你几招轻松解决
《极品飞车》游戏运行时弹窗“msvcp140.dll文件丢失”问题解析及解决方案 在畅游《极品飞车》这类精彩刺激的电脑游戏时,突然遇到弹窗提示“msvcp140.dll文件丢失”,无疑会让玩家感到头疼。那么,这个问题究竟是如何造成的?又该如…...

IDE如何安装插件实现Go to Definition
项目背景 框架:Cucumber Cypress 语言:Javascript IDE:vscode 需求 项目根目录cypress-automation的cypress/integration是测试用例的存放路径,按照不同模块不同功能创建了很多子目录,cucumber测试用例.feature文…...

【Vulkan入门】01-列举物理设备
目录 先叨叨git信息主要逻辑VulkanEnvEnumeratePhysicalDevices()PrintPhysicalDevices() 编译并运行程序 先叨叨 上一篇已经创建了VkInstance,本篇我们问问VkInstance,在当前平台上有多少个支持Vulkan的物理设备。 git信息 repository: https://gite…...

pytest(二)excel数据驱动
一、excel数据驱动 excel文件内容 excel数据驱动使用方法 import openpyxl import pytestdef get_excel():excel_obj openpyxl.load_workbook("../pytest结合数据驱动-excel/data.xlsx")sheet_obj excel_obj["Sheet1"]values sheet_obj.valuescase_li…...

主动安全和驾驶辅助模块(ASDM):未来驾驶的核心科技 随着汽车技术的不断进步,驾驶体验和安全性正经历着前所未有的变革。
未来驾驶的核心科技 随着汽车技术的不断进步,驾驶体验和安全性正经历着前所未有的变革。在这场变革中,主动安全和驾驶辅助模块(ASDM)扮演着至关重要的角色。本文将深入探讨ASDM模块的定义、功能、工作原理以及它如何改变我们的驾驶…...

8 Bellman Ford算法SPFA
图论 —— 最短路 —— Bellman-Ford 算法与 SPFA_通信网理论基础 分别使用bellman-ford算法和dijkstra算法的应用-CSDN博客 图解Bellman-Ford计算过程以及正确性证明 - 知乎 (zhihu.com) 语雀版本 1 概念 **适用场景:**单源点,可以有负边࿰…...

Oracle篇—11gRAC安装在linux7之后集群init.ohasd进程启动不了报错CRS-0715问题
💫《博主介绍》:✨又是一天没白过,我是奈斯,DBA一名✨ 💫《擅长领域》:✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux,也在扩展大数据方向的知识面✌️…...

[golang][MAC]Go环境搭建+VsCode配置
一、go环境搭建 1.1 安装SDK 1、下载go官方SDK 官方:go 官方地址 中文:go 中文社区 根据你的设备下载对应的安装包: 2、打开压缩包,根据引导一路下一步安装。 3、检测安装是否完成打开终端,输入: go ve…...

【乐企文件生成工程】搭建docker环境,使用docker部署工程
1、自行下载docker 2、自行下载docker-compose 3、编写Dockerfile文件 # 使用官方的 OpenJDK 8 镜像 FROM openjdk:8-jdk-alpine# 设置工作目录 WORKDIR ./app# 复制 JAR 文件到容器 COPY ../lq-invoice/target/lq-invoice.jar app.jar # 暴露应用程序监听的端口 EXPOSE 1001…...
关于数据库数据国际化方案
方案一:每个表设计一个翻译表 数据库国际化的应用场景用到的比较少,主要用于对数据库的具体数据进行翻译,在需要有大量数据翻译的场景下使用,举个例子来说,力扣题目的中英文切换。参考方案可见: https://b…...

【目标跟踪】Anti-UAV数据集详细介绍
Anti-UAV数据集是在2021年公开的专用于无人机跟踪的数据集,该数据集采用RGB-T图像对的形式来克服单个类型视频的缺点,包含了318个视频对,并提出了相应的评估标准(the state accurancy, SA)。 文章链接:https://arxiv.…...

第10章 大模型的有害性(下)
在本章中,我们继续探讨大型语言模型(LLM)可能带来的有害影响,重点讨论有毒性(toxicity)和虚假信息(disinformation)。这些影响不仅影响用户的体验,也可能对社会产生深远的…...

DevOps工程技术价值流:GitLab源码管理与提交流水线实践
在当今快速迭代的软件开发环境中,DevOps(开发运维一体化)已经成为提升软件交付效率和质量的关键。而GitLab,作为一个全面的开源DevOps平台,不仅提供了强大的版本控制功能,还集成了持续集成/持续交付(CI/CD)…...

Qt 面试题学习11_2024-11-29
Qt 面试题 1、什么是Qt事件循环 ?2、纯虚函数和普通的虚函数有什么区别3、Qt 的样式表是什么? 1、什么是Qt事件循环 ? Qt事件循环是一种程序架构,它用于处理窗口系统和其他用户界面事件,以及与用户界面无关的事件例如…...

云原生和数据库哪个好一些?
云原生和数据库哪个好一些?云原生和数据库各有其独特的优势,适用于不同的场景。云原生强调高效资源利用、快速开发部署和高可伸缩性,适合需要高度灵活性和快速迭代的应用。而数据库则注重数据一致性、共享和独立性,确保数据的稳定…...

baomidou Mabatis plus引入异常
1 主要异常信息 Error creating bean with name dataSource 但是有个重要提示 dynamic-datasource Please check the setting of primary 解决方法:增加 <dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-sp…...

Oracle篇—通过官网下载最新的数据库软件或者历史数据库软件
💫《博主介绍》:✨又是一天没白过,我是奈斯,DBA一名✨ 💫《擅长领域》:✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux,也在扩展大数据方向的知识面✌️…...

初学git报错处理 | 从IDEA远程拉取、创建分支中“clone failed”“couldn‘t checkout”
1.远程拉取“clone failed” 我新建了一个文件夹,结果clone failed。后来发现,原来是在这个文件夹里没有建立本地仓库。 打开文件夹,右键git bush,然后键入git init,就可以成果clone啦! 2.新建分支“couldnt checkou…...

【趣味】斗破苍穹修炼文字游戏HTML,CSS,JS
目录 图片展示 游戏功能 扩展功能 完整代码 实现一个简单的斗破苍穹修炼文字游戏,你可以使用HTML、CSS和JavaScript结合来构建游戏的界面和逻辑。以下是一个简化版的游戏框架示例,其中包含玩家修炼的过程、增加修炼进度和显示经验值的基本功能。 图片…...

Luban数据插件的用法
配置后数据后,点击图1中的gen.bat文件启动生成配置数据和解析配置数据代码的程序,自动生成配置数据和解析用到的代码;因为我已经 指定了生成内容的输出路径为Unity项目的路径下面,所以,不用再搬运生成的内容到项目目录…...

「Mac畅玩鸿蒙与硬件35」UI互动应用篇12 - 简易日历
本篇将带你实现一个简易日历应用,显示当前月份的日期,并支持选择特定日期的功能。用户可以通过点击日期高亮选中,还可以切换上下月份,体验动态界面的交互效果。 关键词 UI互动应用简易日历动态界面状态管理用户交互 一、功能说明…...

BiGRU:双向门控循环单元在序列处理中的深度探索
一、引言 在当今的人工智能领域,序列数据的处理是一个极为重要的任务,涵盖了自然语言处理、语音识别、时间序列分析等多个关键领域。循环神经网络(RNN)及其衍生结构在处理序列数据方面发挥了重要作用。然而,传统的 RN…...

sscanf与sprintf函数
本期介绍🍖 主要介绍:sscanf()、sprintf()这对输入/输出函数,并详细讲解了这两个函数的应用场景。 概述🍖 在C语言的输出和输入库中,有三对及其相似的库函数:printf()、scanf()、fprintf()、fscanf()、spri…...

工业智能网关在该企业中的应用实践
随着工业4.0时代的到来,智能制造已成为企业转型升级的重要方向。工业智能网关作为工业互联网架构中的关键组件,正逐步在各大企业中发挥重要作用。本文将以某制造企业为例,详细探讨天拓四方工业智能网关在该企业中的应用实践,展现其…...

python毕业设计常见的一些开源库!
作为一个Python开发者,在开发过程中经常会使用到各种工具库来简化工作、提高效率。以下是一些常见的Python开发工具库及其介绍和官方链接。 序号库名称功能介绍官方链接或参考网址1numpy提供高效的多维数组操作和数学函数,是许多数据科学和科学计算任务的…...

社会主义公有制是体现全体劳动者个人利益的所有制
公有制的本质是什么?对于这个问题是存在着不同的看法的。在公众号讨论公有制的问题时,mark(13:55:11云南)说:“不管社会主义还是资本主义,本质上就是产权归属的问题。社会主权归属方式有两种,一种归属于国家,一种分散到民间。前者强调国家产权的重要和个人奉献…...

欧植竹:从“青辣椒和红辣椒的故事”说起
这是一个真实故事,是我妻子亲口对我讲的。1956年,我那位在地区粮食局工作的妻子,被抽调到农村工作队,到郴县良田公社搞了一年点。他们这个工作队,是由地区计委副主任带队,从地直机关单位抽出的10多名干部组成。其中有一位年轻女同志,是大学毕业生,那时在我们的干部队伍…...

郭松民:人工智能的忧思
“列宁说,历史喜欢和人们开玩笑,本来要进入这个房间,结果却进入了另一个房间——人工智能会为人类打开什么房间?”作者|郭松民01时代变化得真快,一不留神,人类就进入“人工智能”时代了。人工智能时代,人类面临的…...

Ksliu:特朗普的“三大杀手锏”可能彻底改写中美关系
美东时间2025年1月31日,白宫发言人透露,特朗普将在2月1日(北京时间2月2日)正式宣布:美国要对加拿大和墨西哥的商品加征25%关税,对中国商品加征10%关税。在此之前,特朗普在2016-2020的第一个任期内,已经对中国商品加征25%关税,现在再加征10%,即达到了35%的关税水平。美…...

一字千军小论医疗之二
医疗卫生战线上也有激烈的路线斗争。养老和医疗卫生服务应是一个逆市场的反哺行为。免费医疗是对市场失灵的矫正。建议左派积极推动国家实行教育医疗住房免费。医疗改革是医药奇高的根本原因。医改既然不顺应该恢复全民免费医疗。毛主席是中国“免费医疗”的…...

塞尔维亚总理武切维奇宣布辞职
据法新社、塞尔维亚广播电视台消息,当地时间1月28日,塞尔维亚总理武切维奇召开新闻发布会,宣布辞去总理职务。武切维奇(资料图)央视新闻客户端武切维奇在发布会上表示,“这是个不可撤销的决定——我将辞去总理一职。”武切维奇说到,…...