Mongodb学习笔记(1)--入门

时间:2023-07-24 15:04:49

文档

多个键及关联的值有序的放置在一起就是文档,如"greeting":"Hello World!"

特点

  • 文档中键值对是有序的

  • 除了字符串还可以是其他类型:"age":18

  • 文档中的键是字符串,除极少数例外情况,可以使用任意UTF-8字符

    • 键不能含有\0(空字符),这个字符用来表示键的结尾
    • .和$有特殊含义,保留
    • _也是保留的,但是没有强制规定
  • mongo不但区分类型,也区分大小写

  • 不能有重复的键

集合

集合就是一组文档

命名

  • 集合名不能是空字符串
  • 不能含有\0字符
  • 不能以system.开头
  • 不能含有$

子集合

用.分隔的集合,比如blog.posts和blog.authors。

数据库

多个集合组成数据库

启动mongoDB

$ ./mongod.exe

启动失败,会有提示:

Mongodb学习笔记(1)--入门

若如下所示,则表示启动成功:

Mongodb学习笔记(1)--入门

新开一个命令行窗口,输入./mongo.exe,这里可以运行任何JavaScript程序:

Mongodb学习笔记(1)--入门

shell基本操作

> post={
... "title":"My blog post",
... "content":"Here's my blog post.",
... "date":new Date()
... }
> db.blog.insert(post)

> db.blog.find()
{ "_id" : ObjectId("599300b0ab5eab2f157ace21"), "title" : "My blog post", "content" : "Here's my blog post.", "date" : ISODate("2017-08-15T14:09:27.288Z") }
> db.blog.findOne()
{ "_id" : ObjectId("599300b0ab5eab2f157ace21"), "title" : "My blog post", "content" : "Here's my blog post.", "date" : ISODate("2017-08-15T14:09:27.288Z") }

find最多显示20个匹配的文档,但也可以获取更多,以后再说。

> post.comments=[]
[ ]
> db.blog.update({"title":"My blog post"},post)

> db.blog.remove({"title":"My blog post"})

Tips

  • 可以通过调用函数名来获取函数源码:

    > db.blog.remove
  • 如果集合名称与数据库函数名称相同,那么通过db.集合名可能会报错,可以通过db.getCollection("集合名")来获取。