热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MongoDB数据库基础命令介绍

不管我们学习什么数据库都应该学习其中的基础概念,在mongodb中基本的概念是文档、集合、数据库,下面我们挨个介绍。文档:文档是mongodb中的最核心的概念,是其核心单元,我们可以将文档类比成关系型数据库中的每一行数据。多个键及其关联的值有序的放置

不管我们学习什么数据库都应该学习其中的基础概念,在mongodb中基本的概念是文档、集合、数据库,下面我们挨个介绍。

文档:

文档是mongodb中的最核心的概念,是其核心单元,我们可以将文档类比成关系型数据库中的每一行数据。多个键及其关联的值有序的放置在一起就是文档。在mongodb中使用一种类json的bson存储数据。bson数据可以理解为在json的基础上添加了一些json中没有的数据类型。如果我们会json,那么bson我们就已经掌握了一半了,至于新添加的数据类型后面我会介绍。文档例子如下:

{“name":"mengxiangyue","sex":"nan"}  

对于文档是有一些限制的:有序、区分大小写的,所以下面的两个文档是与上面不同的

{”sex“:"nan","name":"mengxiangyue"}  

{"Name":"mengxiangyue","sex":"nan"}  

集合:

集合就是一组文档的组合。如果将文档类比成数据库中的行,那么集合就可以类比成数据库的表。
在mongodb中的集合是无模式的,也就是说集合中存储的文档的结构可以是不同的,比如下面的两个文档可以同时存入到一个集合中:

{"name":"mengxiangyue"}  

{"Name":"mengxiangyue","sex":"nan"}  

这个是与关系型数据库不同,在关系型数据中所有的行的字段都是相同的。不能像mongodb中这样可以不相同。虽然mongodb的集合是无模式的,但是mongodb的官方还是建议所有的文档的结构都是相同的,这样处理起来比较方便。 数据库:

在mongodb中的数据库的概念与关系型的数据库中的数据库的概念基本相同。在mongodb中的数据库是多个集合的组合。同样一个mongodb中可以建立多个数据库,这些数据库也是相互独立的,也可以独立进行用户验证。

在给数据库起名的时候有几个是保留的admin、local、config。这几个数据库是mongodb的保留数据库。

admin数据库,是一个root数据库,在这个数据库中添加用户,该用户将继承所有的数据库的权限,以后讲权限的时候会用到。

local数据库,这个数据库不会被复制,只存储本地服务器才能访问的数据库。以后再分片的时候会降到。

config数据库用于保存分片的相关信息。

可能有些地方写的也不对,只能通过查资料尽量写的正确,如果哪里错了,还请大虾指出。

敲入help命令:

show dbs                     show database names #显示当前总共有哪些数据库
show collections             show collections in current database #显示当前数据库的所有集合
show users                   show users in current database #显示用户
show profile                 show most recent system.profile entries with time >= 1ms 
show logs                    show the accessible logger names #现实所有的log文档
show log [name]              prints out the last segment of log in memory, 'global' is default#显示名字为name的log文档的信息
use                set current database #使用db_name此数据库
db.foo.find()                list objects in collection foo #显示数据库.集合....下所有文档
db.foo.find( { a : 1 } )     list objects in foo where a == 1 #显示数据库.集合....下所有符合条件的a=1的文档
it                           result of the last line evaluated; use to further iterate
DBQuery.shellBatchSize = x   set default number of items to display on shell 
exit                         quit the mongo shell  #退出

1.Sat Jul 27 10:43:29 SyntaxError: missing ; before statement (shell):1

语法错误,有可能是忘记了函数的方法要加()也有可能是忘记了加 “,”等等

2.> foo.insert(test)
   Sat Jul 27 10:23:28 ReferenceError: foo is not defined (shell):1

foo是我定义的数据库名字,所以不能直接使用数据库执行insert()方法,只有集合才执行更删改查文档的方法。

3.> foo['bar'].insert({'name': 'hhx'})
Sat Jul 27 11:11:34 ReferenceError: foo is not defined (shell):1

    当前处于foo数据库中(命令db),使用数据库名字的地方都用db统一代替,所以正确的使用方法是db['bar'].insert({'name': 'hhx'})


推荐阅读
  • MongoDB核心概念详解
    本文介绍了NoSQL数据库的概念及其应用场景,重点解析了MongoDB的基本特性、数据结构以及常用操作。MongoDB是一个高性能、高可用且易于扩展的文档数据库系统。 ... [详细]
  • 本文介绍了如何使用Node.js通过两种不同的方法连接MongoDB数据库,包括使用MongoClient对象和连接字符串的方法。每种方法都有其特点和适用场景,适合不同需求的开发者。 ... [详细]
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
  • 实践指南:使用Express、Create React App与MongoDB搭建React开发环境
    本文详细介绍了如何利用Express、Create React App和MongoDB构建一个高效的React应用开发环境,旨在为开发者提供一套完整的解决方案,包括环境搭建、数据模拟及前后端交互。 ... [详细]
  • V8不仅是一款著名的八缸发动机,广泛应用于道奇Charger、宾利Continental GT和BossHoss摩托车中。自2008年以来,作为Chromium项目的一部分,V8 JavaScript引擎在性能优化和技术创新方面取得了显著进展。该引擎通过先进的编译技术和高效的垃圾回收机制,显著提升了JavaScript的执行效率,为现代Web应用提供了强大的支持。持续的优化和创新使得V8在处理复杂计算和大规模数据时表现更加出色,成为众多开发者和企业的首选。 ... [详细]
  • 小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限
    小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限 ... [详细]
  • MongoVUE基础操作指南:轻松上手数据库管理
    本文介绍了MongoVUE的基础操作,旨在帮助用户轻松掌握数据库管理技巧。MongoVUE是一款功能强大的MongoDB客户端工具,虽然需要注册,但其用户友好的界面和丰富的功能使其成为许多开发者的首选。文中详细解释了安装步骤、基本配置以及常见操作方法,并对一些常见的问题进行了修正和补充,确保用户能够快速上手并高效使用MongoVUE进行数据库管理。 ... [详细]
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • MongoDB高可用架构:深入解析Replica Set机制
    MongoDB的高可用架构主要依赖于其Replica Set机制。Replica Set通过多个mongod节点的协同工作,实现了数据的冗余存储和故障自动切换,确保了系统的高可用性和数据的一致性。本文将深入解析Replica Set的工作原理及其在实际应用中的配置和优化方法,帮助读者更好地理解和实施MongoDB的高可用架构。 ... [详细]
  • Python3爬虫入门:pyspider的基本使用[python爬虫入门]
    Python学习网有大量免费的Python入门教程,欢迎大家来学习。本文主要通过爬取去哪儿网的旅游攻略来给大家介绍pyspid ... [详细]
  • 近期尝试从www.hub.sciverse.com网站通过编程手段获取数据时遇到问题,起初尝试使用WebBrowser控件进行数据抓取,但发现使用GET方法翻页时,返回的HTML代码始终相同。进一步探究后了解到,该网站的数据是通过Ajax异步加载的,可通过HTTP查看详细的JSON响应。 ... [详细]
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
  • 小编给大家分享一下Vue3中如何提高开发效率,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获, ... [详细]
  • protobuf 使用心得:解析与编码陷阱
    本文记录了一次在广告系统中使用protobuf进行数据交换时遇到的问题及其解决过程。通过这次经历,我们将探讨protobuf的特性和编码机制,帮助开发者避免类似的陷阱。 ... [详细]
  • 在iOS平台上,应用的流畅操作体验一直备受赞誉。然而,过去开发者往往将更多精力集中在功能实现上,而对性能优化的关注相对较少。本文深入探讨了iOS应用性能优化的关键要点与实践方法,旨在帮助开发者提升应用的响应速度、降低功耗,并改善整体用户体验。通过具体案例分析和技术解析,文章提供了实用的优化策略,包括代码层面的改进、资源管理优化以及界面渲染效率的提升等。 ... [详细]
author-avatar
o.o
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有