首页 > 数据库 >mongodb基本操作命令及数据类型(一)

mongodb基本操作命令及数据类型(一)

时间:2022-11-12 18:32:57浏览次数:36  
标签:insert name test9 数据类型 db mongodb Date 基本操作 id

从MongoDB 3.2,它使用WiredTiger作为其默认的存储引擎,也可以通过以下语句查询默认的存储引擎

mongodb基本操作命令及数据类型(一)_mongodb

1.mongodb入门命令

show databases/dbs       查看当前数据库 (test(测试库)、admin(管理员库)、local(当前库))
show tables/collections 查看表
db.help() 查看帮助信息

2.如何创建数据库

mongodb的库是隐式创建的,你可以use一个不存在的库,然后在该库下创建表即可创建库

mongodb基本操作命令及数据类型(一)_字段_02

3.插入数据

db.user.insert({name:'wangwu',age:22})

4.查找数据

db.user.find()

mongodb基本操作命令及数据类型(一)_字段_03

格式化输出

db.user.find().pretty()

mongodb基本操作命令及数据类型(一)_字段_04

注:如果不指定_id的话,系统自动生成id(id是主键)

DBQuery.shellBatchSize = 10; 设置查询出显示的结果集,默认显示20条

mongodb基本操作命令及数据类型(一)_字段_05

db.user.insert({_id:2,name:'lisi',age:12}) 

mongodb基本操作命令及数据类型(一)_javascript_06

db.user.insert({_id:3,name:'hmm',hobby:['basketball','football'],intro:{title:'My intro',content:'from china'}})   #复合文档

mongodb基本操作命令及数据类型(一)_字段_07

也可以隐式的创建表

db.goods.insert({_id:1,name:'NOKIAN71',price:1200})

mongodb基本操作命令及数据类型(一)_mongodb_08

5.删除表

use wang
db.goods.drop()

mongodb基本操作命令及数据类型(一)_字段_09

6.删除数据库

db.dropDatabase()

mongodb基本操作命令及数据类型(一)_字段_10

7.日期类型

日期类型处理上需要注意以下几点:

(1)是否和时区有关

(2)格式之间的区别

(3)和字符串之间的关系

mongo中的日期类型,使用的是iso格式,通常我们使用ISODate(***)来表示

db.test9.insert({mt:ISODate("19920913")})
db.test9.insert({mt:ISODate("19920913 074848")})
db.test9.insert({mt:ISODate("1992-09-13 07:48:48")})
db.test9.insert({mt:ISODate("1992-09-13 13:48:48")})

mongodb基本操作命令及数据类型(一)_javascript_11

插入当前时间的时候,我们有两种调用方式:Date() 和 new Date()

db.test9.insert({mt:new Date()})
db.test9.insert({mt:Date()})

mongodb基本操作命令及数据类型(一)_字段_12

对比后我们会发现有如下几点:

(1)使用new Date()插入的日期是符合ISODate格式的,而且这个时间比当前时间早8小时

(2)使用Date()插入的日期是一个字符串,但是它是当前时间

(3)mongo中的date类型是以UTC来存储的,它等于GMT,也就是格林尼治时间,也就是比我们当前的时间要少8小时

但是当我们获取时间的时候需要注意以下几点:

var x=db.test9.findOne({_id:ObjectId("57f8957f14b8a3114ae87150")}).mt
x.getMonth()+1
x.getHours()
x.getDate()

mongodb基本操作命令及数据类型(一)_javascript_13

将ISODate格式的时间转换成当前时间toLocaleString()

mongodb基本操作命令及数据类型(一)_字段_14

a=db.test9.findOne().mt.toLocaleString()

mongodb基本操作命令及数据类型(一)_mongodb_15

mongoDB中时间戳Timestamps   

var a = new Timestamp();
db.test.insert( { ts: a } );
db.test.find()

mongodb基本操作命令及数据类型(一)_mongodb_16

可以将输出内容通过javascript转化成日期格式

var timestamp3 = 1476171408;
var unixTimestamp = new Date(timestamp3 * 1000)
newDate.toLocaleDateString() + ' '+ newDate.toLocaleTimeString()

mongodb基本操作命令及数据类型(一)_javascript_17

8.查询值为Null或不存在的字段

MongoDB中不同的运算符对待 null 值不一样.  

db.users.insert(
[
{ "_id" : 900, "name" : null },
{ "_id" : 901 }
]
)

查找name为null的记录

db.users.find( { name: null } )

mongodb基本操作命令及数据类型(一)_字段_18

我们只需要查找name字段为null的数据,而不是将没有name字段的数据也查询出来,可以通过以下方式进行查询

a.如果使用稀疏索引会导致一个不完整的结果,那么,除非 hint() 显示地指定了该索引,否则MongoDB将不会使用这个索引

b.类型筛查

{ name : { $type: 10 } } 查询 仅仅 匹配那些包含值是 null 的 name 字段的文档,亦即 条目 字段的值是BSON类型中的 Null (即 10 )

db.users.find( { name : { $type: 10 } } )

mongodb基本操作命令及数据类型(一)_mongodb_19

Type

Number

Alias

Notes

Double

1

“double”

 

String

2

“string”

 

Object

3

“object”

 

Array

4

“array”

 

Binary data

5

“binData”

 

Undefined

6

“undefined”

Deprecated.

ObjectId

7

“objectId”

 

Boolean

8

“bool”

 

Date

9

“date”

 

Null

10

“null”

 

Regular Expression

11

“regex”

 

DBPointer

12

“dbPointer”

 

JavaScript

13

“javascript”

 

Symbol

14

“symbol”

 

JavaScript (with scope)

15

“javascriptWithScope”

 

32-bit integer

16

“int”

 

Timestamp

17

“timestamp”

 

64-bit integer

18

“long”

 

Min key

-1

“minKey”

 

Max key

127

“maxKey”

c.存在性筛查

该查询只返回那些 没有 包含 条目 字段的文档($exists  false 没有包含; true  包含)

db.users.find( { name : { $exists: false } } )

mongodb基本操作命令及数据类型(一)_mongodb_20






标签:insert,name,test9,数据类型,db,mongodb,Date,基本操作,id
From: https://blog.51cto.com/u_13753753/5842809

相关文章

  • JS数据类型判断
    数据类型判断typeofinstanceofconstructorObject.prototype.toString.call()typeoftypeof可以检测出的数据类型number、string、boolean、undefined和function。......
  • Day2-2 数据类型,数据类型拓展及类型转换
    数据类型强类型语言要求变量的使用要严格符合规定,多有变量都必须先定义后才能使用JAVA的数据类型分为两大类基本类型primitivetype引用类型referencetype......
  • Mongodb中的PSA转换为PSS架构
    PSA架构的问题众所周知,PSA架构中如果Secondary发生故障会带来一系列的问题,包括Majority写入无法完成造成主库内存压力的增加重启主库需要更多的时间特殊情况下会导致数据的......
  • Redis笔记02-数据类型
    String类型数据127.0.0.1:6379>setnamezhangsan#设置单key-valueOK127.0.0.1:6379>getname"zhangsan"127.0.0.1:6379>msetname1xiaowangname2lisiname3......
  • 9. JS的数据类型,区别
    js有2大数据类型分类: 基本数据类型:1.string字符串使用单、双引号包裹,或者使用反引号包裹2.number数字类型3.boolean布尔值truefalse ......
  • 5、Redis6三大新数据类型
    1、Bitmaps1、简介现代计算机用二进制(位)作为信息的基础单位,1个字节等于8位,例如“abc”字符串是由3个字节组成,但实际在计算机存储时将其用二进制表示,“abc”分别对应的......
  • 9、事务基本操作
    Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。Redis事务的主要作用就是串联多......
  • JavaScript判断数据类型的几种方式
    一、数据类型JavaScript中数据类型分为两类:基本数据类型undefined、null、string、number、boolean、Symbol引用数据类型Object(Array、Function等)二......
  • Linux基本操作命令之Mac
    对在macbook上使用shell命令访问Linux服务器的一些常用命令作一个记录 ssh用户名@ip (如:[email protected])pw向上一级:cd..进入根目录:cd/进入下一级home目......
  • 【SVN】基本操作
    新建一个文件夹后,在文件夹中检出版本库 ......