Mongo Wire Protocol(写MongoDB驱动必备)

本文主要介绍了MongoDB的网络协议——Mongo Wire Protocol,包括标准消息头MsgHeader,请求Opcode如OP_QUERY、OP_UPDATE、OP_INSERT、OP_GETMORE和OP_DELETE的结构及其用途。理解该协议是开发MongoDB驱动的关键,例如OP_QUERY用于查询数据库,OP_UPDATE和OP_GET_MORE涉及数据更新和获取,而OP_REPLY是数据库的响应消息。
摘要由CSDN通过智能技术生成

目前MongoDB针对各种语言都已经有了相应的驱动,但是写好一个驱动的关键是理解MongoDB提供的协议,下面的内容主要是来自MongoDB的官方的Protocol描述:

 

  • Introduction

The Mongo Wire Protocol is a simple socket-based, request-response style protocol. Clients communicate with the database server through a regular TCP/IP socket.

 

  • Standard Message Header

In general, each message consists of a standard message header followed by request-specific data. The standard message header is structured as follows :


 

MsgHeader一个关键的field就是opCode,它决定了Message是干什么用的,比如OP_QUERY肯定是客户端向MongoDB服务器发送的查询请求。

 

  • Request Opcodes

 

Client能够使用除OP_REPLY以外的所有Opcode,而OP_REPLY是留给Mongodb用的;

Client发送的Opcode中,只有OP_QUERY和OP_GET_MORE会得到MongoDB的response,对于其他的Opcode一概不给予答复(如果你真的需要看你发送的opcode是否执行成功,可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值