zoukankan      html  css  js  c++  java
  • Mongodb学习笔记(1)--入门

    文档

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

    特点

    • 文档中键值对是有序的

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

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

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

    • 不能有重复的键

    集合

    集合就是一组文档

    命名

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

    子集合

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

    数据库

    多个集合组成数据库

    启动mongoDB

    $ ./mongod.exe

    启动失败,会有提示:

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

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

    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("集合名")来获取。
  • 相关阅读:
    实验13读后感:《算法竞赛进阶指南》
    实验12图的m着色问题
    实验11哈夫曼编码
    极差 牛客-16736(单调栈,线段树)
    实验10相容问题
    实验9LCS算法
    实验8矩阵链乘法
    Array Without Local Maximums CF-1068D(计数DP)
    Save the Nature CF-1241C(二分、贪心)
    浅谈linux命令大全
  • 原文地址:https://www.cnblogs.com/yw0219/p/7368184.html
Copyright © 2011-2022 走看看