MongoDB $type 操作符在 MongoDB 中,$type 操作符用于查询具有指定类型的字段的文档。
MongoDB 的 $type 操作符用于查询字段的 BSON 数据类型。它允许您指定一个或多个类型,并返回匹配这些类型的文档。以下是 $type 操作符的详细介绍和示例。语法:db.collection.find({ field: { $type: } })field:要检查类型的字段。type:指定的 BSON 类型,可以是类型的数字代码或类型名称的字符串。BSON 类型以下是常见的 BSON 类型及其对应的数字代码和字符串名称:
类型代码类型名称1double2string3object4array5binData6undefined7objectId8bool9date10null11regex12dbPointer13javascript14symbol15javascriptWithScope16int17timestamp18long19decimal255minKey127maxKey实例
查找字段类型为字符串的文档:db.myCollection.find ...
Mac OSX 平台安装 MongoDB
MongoDB 提供了 OSX 平台上 64 位的安装包,你可以在官网下载安装包。下载地址:https://www.mongodb.com/try/download/community
从 MongoDB 3.0 版本开始只支持 OS X 10.7 (Lion) 版本及更新版本的系统。
接下来我们使用 curl 命令来下载安装:
进入 /usr/localcd /usr/local
下载sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-4.0.9.tgz
解压sudo tar -zxvf mongodb-osx-ssl-x86_64-4.0.9.tgz
重命名为 mongodb 目录sudo mv mongodb-osx-x86_64-4.0.9/ mongodb
安装完成后,我们可以把 MongoDB 的二进制命令文件目录(安装目录/bin)添加到 PATH 路径中:
export PATH= ...
Linux平台安装MongoDBMongoDB 提供了 linux 各个发行版本 64 位的安装包,你可以在官网下载安装包。安装前我们需要安装各个 Linux 平台依赖包。Red Hat/CentOS:sudo yum install libcurl opensslUbuntu 18.04 LTS (“Bionic”)/Debian 10 “Buster”:sudo apt-get install libcurl4 opensslUbuntu 16.04 LTS (“Xenial”)/Debian 9 “Stretch”:sudo apt-get install libcurl3 opensslMongoDB 源码下载地址:https://www.mongodb.com/try/download/community
这里我们选择 tgz 下载,下载完安装包,并解压 tgz(以下演示的是 64 位 Linux上的安装) 。
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu160 ...
PHP JSON本章节我们将为大家介绍如何使用 PHP 语言来编码和解码 JSON 对象。
环境配置在 php5.2.0 及以上版本已经内置 JSON 扩展。
JSON 函数
函数描述json_encode 对变量进行 JSON 编码json_decode对 JSON 格式的字符串进行解码,转换为 PHP 变量json_last_error 返回最后发生的错误
json_encodePHP json_encode() 用于对变量进行 JSON 编码,该函数如果执行成功返回 JSON 数据,否则返回 FALSE 。语法string json_encode ( $value [, $options = 0 ] )参数
value: 要编码的值。该函数只对 UTF-8 编码的数据有效。options:由以下常量组成的二进制掩码 JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FO ...
JSON 语法
JSON 语法是 JavaScript 语法的子集。
JSON 语法规则JSON 语法是 JavaScript 对象表示语法的子集。
数据在名称/值对中数据由逗号 , 分隔使用斜杆 \ 来转义字符大括号 {} 保存对象中括号 [] 保存数组,数组可以包含多个对象
JSON 的两种结构:1、对象:大括号 {} 保存的对象是一个无序的名称/值对集合。一个对象以左括号 { 开始, 右括号 } 结束。每个”键”后跟一个冒号 :,名称/值对使用逗号 , 分隔。
2、数组:中括号 [] 保存的数组是值(value)的有序集合。一个数组以左中括号 [ 开始, 右中括号 ] 结束,值之间使用逗号 , 分隔。
值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array),它们是可以嵌套。
JSON 名称/值对JSON 数据的书写格式是:key : value名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:
“name” : ...
JSON 数组
数组作为 JSON 对象
实例
[ “Google”, “Runoob”, “Taobao” ]
JSON 数组在中括号中书写。中括号 [] 保存的数组是值(value)的有序集合。一个数组以左中括号 [ 开始, 右中括号 ] 结束,值之间使用逗号 , 分隔。
JSON 中数组值必须是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。JavaScript 中,数组值可以是以上的 JSON 数据类型,也可以是 JavaScript 的表达式,包括函数,日期,及 undefined。
JSON 对象中的数组对象属性的值可以是一个数组:
实例
{“name”:”网站”,“num”:3,“sites”:[ “Google”, “Runoob”, “Taobao” ]}
我们可以使用索引值来访问数组:
实例
x = myObj.sites[0];
尝试一下 »
循环数组你可以使用 for-in 来访问数组:
实例
for (i in myObj.sites) {x += myObj.sites[i] + ““;}
尝试一下 » ...
JSON 教程
JSON: JavaScript Object Notation(JavaScript 对象表示法)JSON 是存储和交换文本信息的语法,类似 XML。JSON 比 XML 更小、更快,更易解析。JSON 易于人阅读和编写。C、Python、C++、Java、PHP、Go 等编程语言都支持 JSON。
JSON 实例
{“sites”: [{ “name”:”菜鸟教程” , “url”:”www.runoob.com“ }, { “name”:”google” , “url”:”www.google.com“ }, { “name”:”微博” , “url”:”www.weibo.com“ }]}
这个 sites 对象是包含 3 个站点记录(对象)的数组。
什么是 JSON ?
JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)JSON 是轻量级的文本数据交换格式JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 J ...
JSON 对象
对象语法
实例
{ “name”:”runoob”, “alexa”:10000, “site”:null }
JSON 对象使用在大括号 {…} 中书写。对象可以包含多个 key/value(键/值)对。key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。key 和 value 中使用冒号 : 分割。每个 key/value 对使用逗号 , 分割。
访问对象值你可以使用点号 . 来访问对象的值:
实例
var myObj, x;myObj = { “name”:”runoob”, “alexa”:10000, “site”:null };x = myObj.name;
尝试一下 »
你也可以使用中括号([])来访问对象的值:
实例
var myObj, x;myObj = { “name”:”runoob”, “alexa”:10000, “site”:null };x = myObj[“name”];
尝试一下 »
循环对象你 ...
JSON 使用
把 JSON 文本转换为 JavaScript 对象JSON 最常见的用法之一,是从 web 服务器上读取 JSON 数据(作为文件或作为 HttpRequest),将 JSON 数据转换为 JavaScript 对象,然后在网页中使用该数据。为了更简单地为您讲解,我们使用字符串作为输入进行演示(而不是文件)。
JSON 实例 - 来自字符串的对象创建包含 JSON 语法的 JavaScript 字符串:
var txt = ‘{ “sites” : [‘ +‘{ “name”:”菜鸟教程” , “url”:”www.runoob.com“ },’ +‘{ “name”:”google” , “url”:”www.google.com“ },’ +‘{ “name”:”微博” , “url”:”www.weibo.com“ } ]}’;
由于 JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。eval() 函数使用的是 JavaScript 编译器,可解析 ...
JSON vs XMLJSON 和 XML 都用于接收 web 服务端的数据。JSON 和 XML在写法上有所不同,如下所示:
JSON 实例
{“sites”: [{ “name”:”菜鸟教程” , “url”:”www.runoob.com“ }, { “name”:”google” , “url”:”www.google.com“ }, { “name”:”微博” , “url”:”www.weibo.com“ }]}
XML 实例
菜鸟教程 www.runoob.com
google www.google.com
微博 www.weibo.com
JSON 与 XML 的相同之处:
JSON 和 XML 数据都是 “自我描述” ,都易于理解。JSON 和 XML 数据都是有层次的结构JSON 和 XML 数据可以被大多数编程语言使用
JSON 与 XML 的不同之处:
JSON 不需要结束标签JSON 更加简短JSON 读写速度更快JSON 可以使用数组
最大的不同是:XML 需要使用 XML 解析器来解析,JSON 可以使用标准的 JavaSc ...