Mongodb基本操作入门,增删改查

主要进程

mongod.exe为启动数据库实例的进程。

mongo是一个与mongod进程进行交互的JavaScript shell进程,它提供了一些交互的接口函数用户对数据库的管理。

基本命令

show  databases;   查询数据库列表

show  collections;   查询所有的集合   对应关系型数据库的表

use  test;  数据库切换   切换到test数据库

mongodb数据库记录成为文档

插入文档命令

db.customers.save({name:"张三",age:15,address:‘北京东城"});  向集合customer库插入一个文档

for(var i=1;i<=100;i++) db.customers.save({name:"张三"+i,age:i,telephone:"1861400275"+i});  批量插入100个文档

查询选择器

db.customers.find();

db.customers.find({name:"张三11‘});

db.customers.find({age:{$lt:45}});  关键字  $lt  less than   小于

$lte  小于等于  less  than  equals

$gt   大于    greater  than

$gte  大于等于  greate  than  equals

db.customer.find({age:{$lt:45,$gt:35}});

db.customer.find({age:{$in:[34,35,36]}});   $in  值在范围内   $nin  值不在范围内

db.customer.find({age:{$ne:50}});   $ne   关键字的值不等于

db.customer.find({$or:[{age:{$lt:5},{name:"zhangsan"}}]});  $or 或   age小于5或name等于zhangsan

db.customer.find({$and:[{age:{$lt:5},{name:"zhangsan"}}]});  $and  且   两个条件同时满足

db.customer.find({id:{$exists:false}});  等价于  db.customer.find({id:null});

MongoDB表结构是不固定的,有时需要返回包含某个字段的所有记录或不包含的

查询投射

查询的结果集返回指定的字段

db.customer.find({age:{$lt:10}},{_id:0,id:1,name:1});    _id:0  表示不返回_id

第一个{}内为查询选择器,第二个{}为对前面返回的结果集进行进一步过滤的条件,即投射项。

db.customer.find().skip(10).limit(5).sort(id:-1);   跳过前十条,取五条,id:-1表示降序排列

数组操作

文档的属性为数组 AttributeValue:["收腰型","修身型","直筒型","宽松型"]

db.DictGoodsAttribute.find({"AtributeValue":"收腰型"}); 只要属性中包含该值,就能返回

匹配数组中指定位置的元素值

db.DictGoodsAttribute.find({"AttributeValue.0":"收腰型"});  第一个属性值为"收腰型"

增该删操作

增加记录   db.customer.save();

1.第一次插入数据时,不需要预先创建集合,插入数据时会自动创建

2.插入时会默认创建主键_id,类型为ObjectId类型,这样设计为了更好地支持分布式存储

3._id插入时复制不能重复

修改语句                  条件    赋值

db.customer.update(query,update,<upsert>,<multi>);

query为过滤条件    update为赋值  若只包含字段,不包含操作项,则会发生取代性更改

upsert 可选参数   boolean类型  默认为false,更新匹配记录,找不到则插入新的文档到集合,插入新记录

multi    可选参数   boolean类型  默认为false,更新匹配到的第一个文档,当为true时,更新所有匹配的文档

db.customer.update({id:5},{$set:{name:"zhangsan"}},{upsert:true},{multi:true});

删除语句

db.customer.remove({name:"zhangsan"}); 删除所有 name:zhangsan的文档

db.customer.remove({name:"zhangsan"},1); 删除第一个匹配文档

db.customer.remove(); 删除所有文档,但不删除对应的索引集合,文档对象也会从相应的数据文件中删去

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-30 05:27:23

Mongodb基本操作入门,增删改查的相关文章

Mongodb基本操作入门,增删改查和索引

主要进程 mongod.exe为启动数据库实例的进程. mongo是一个与mongod进程进行交互的JavaScript shell进程,它提供了一些交互的接口函数用户对数据库的管理. 基本命令 show  databases;   查询数据库列表 show  collections;   查询全部的集合   相应关系型数据库的表 use  test;  数据库切换   切换到test数据库 mongodb数据库记录成为文档 插入文档命令 db.customers.save({name:"张三&

Batis-iBatis基本操作(增删改查)

Batis-iBatis基本操作(增删改查) 时间 2014-04-10 17:55:20  CSDN博客 原文  http://blog.csdn.net/mazhaojuan/article/details/23354759 主题 MyBatis数据库测试技术 在上一篇iBatis博客中已介绍了如何 配置iBatis环境,这篇博客主要进行介绍一些iBatis的基本操作实现.iBatis的增删改操作都需要操作SqlMap,DAO层Manger,POJO 这几个类来实现. 下面分别介绍一下iBa

Android通讯录数据库介绍与基本操作(增删改查)

Android通讯录数据库介绍与基本操作(增删改查) 2014年2月21日 Android通讯录管理总结 这几天导师安排我一个任务就是研究一下Android通讯录获取联系人.通话记录.短信的方法,还有看看不同Android版本之间的异同是否能做到兼容之类的事情.Android通讯录这一块,我个人感觉是挺乱的,网上一堆关于查询本地数据库获取联系人的方法,但似乎都没有仔细说明数据有哪些重要的表,它们之间有什么联系.下面是本人查询资料总结的一下知识点,方便童鞋们以后用到. http://xys2891

hibernate 入门增删改查demo

原文:hibernate 入门增删改查demo 源代码下载地址:http://www.zuidaima.com/share/1550463648238592.htm

使用MyEclipse对MongoDB数据库 进行增删改查操作

前面写了一篇MongoDB的下载与安装,接下来此篇写的是MongoDB数据库在JAVA程序中的基本功能: 使用MyEclipse对MongoDB数据库进行增删改查操作 1.导入JAR包 使用了Spring3.0:此类包,可以上网查询"MongoDB相关JAR包" 2.创建一个Person实体类 源代码如下: public class Person(){ //属性 Private String id; //id Private String name; //name Private in

nodejs对mongodb数据库的增删改查操作(转载)

首先要确保mongodb的正确安装,安装参照:http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian-or-ubuntu-linux 另外可以参考我的另一篇博文 http://www.cnblogs.com/sexintercourse/p/5774310.html 指导mongo和nodejs的开发 然后下载nodejs的mongodb的driver npm install mongodb 编写一个测试的程序: 1 v

node.js对mongodb的连接&amp;增删改查(附async同步流程控制)

1.启动mongodb数据库 官网下载mongodb数据库 在mongodb根目录下创建文件夹:假设取名为test. 我们认为test就是mongodb新建的数据库一枚. 创建批处理文件 xxx.bat,内容如下: 运行e盘mongodb文件夹下bin目录下的 mongod.exe,参数为 -dbpath E:\mongodb\test. E:\mongodb\bin\mongod.exe -dbpath E:\mongodb\test 这样就启动了mongodb下test数据库的服务器. 2.

Mysql的基本操作(增删改查)

以下是MySQL最基本的增删改查语句,创建索引,删除索引,查看索引.数据库里表的关联.很多IT工作者都必须要会的命令,也是IT行业面试最常考的知识点,由于是入门级基础命令 增 > create database school; 创建数据库school > use school; 进入数据库 > create table class (id int,name char(10),score decimal(5,2)); 创建一个表class(id整数 name字符串10个 成绩 数据长度5

MongoDB一 之增删改查

一.初识MongoDB MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 它和我们使用的关系型数据库最大的区别就是约束性,可以说文件型数据库几乎不存在约束性,理论上没有主外键约束,没有存储的数据类型约束等等 关系型数据库中有一个 "表" 的概念,有 "字段" 的概念,有 &qu