mongoDB之find()操作

一 创建数据库

执行操作进入mongodb   使用参数模式   也可以使用 db.auth()来验证。

[email protected]:/usr/local/apache243/htdocs# /usr/local/mongodb/mongo  -uroot -pxxxxx localhost:27017/admin

下面是第一次创建新的数据库

> use DEMO
switched to db DEMO
> db.user.insert({name:"zhaoxingzhuang",age:18,sex:"man",location:{province:"shandong",city:"jinan",road:"shandaroad-47"}})
WriteResult({ "nInserted" : 1 })
> db.user.find()  //全部查询
{ "_id" : ObjectId("54feea0a26be41dca9db0d23"), "name" : "zhaoxingzhuang", "age" : 18, "sex" : "man", "location" : { "province" : "shandong", "city" : "jinan", "road" : "shandaroad-47" } }
> 

继续执行插入操作

1、简单查询  find({field:"value"},{field:0或者1}) ,前边表示查询的条件  后边表示  查询的字段  0表示 不显示该字段  1表示只显示这个字段

> db.user.insert({name:"wangping",age:26,sex:"woman",location:{city:"beijing",road:"zhongguonongyedaxue"}})
WriteResult({ "nInserted" : 1 })
> db.user.find()
{ "_id" : ObjectId("54feea0a26be41dca9db0d23"), "name" : "zhaoxingzhuang", "age" : 18, "sex" : "man", "location" : { "province" : "shandong", "city" : "jinan", "road" : "shandaroad-47" } }
{ "_id" : ObjectId("54feead226be41dca9db0d24"), "name" : "wangping", "age" : 26, "sex" : "woman", "location" : { "city" : "beijing", "road" : "zhongguonongyedaxue" } }
> db.user.find({name:"wangping"})// 查询name="wangping"
{ "_id" : ObjectId("54feead226be41dca9db0d24"), "name" : "wangping", "age" : 26, "sex" : "woman", "location" : { "city" : "beijing", "road" : "zhongguonongyedaxue" } }

//字段选取    类似 sql 语句中的 select age from XXX;
> db.user.find({name:"wangping"},{age:0})     //表示不显示 age字段
{ "_id" : ObjectId("54feead226be41dca9db0d24"), "name" : "wangping", "sex" : "woman", "location" : { "city" : "beijing", "road" : "zhongguonongyedaxue" } }

> db.user.find({name:"wangping"},{age:1})    // 表示只取  age字段
{ "_id" : ObjectId("54feead226be41dca9db0d24"), "age" : 26 }
>

2、条件查询 > $gt , < $lt ,<=   $lte ,>=  $gte。

> db.user.find({age:{$gt:20}})   //查询年龄大于20岁的
{ "_id" : ObjectId("54feead226be41dca9db0d24"), "name" : "wangping", "age" : 26, "sex" : "woman", "location" : { "city" : "beijing", "road" : "zhongguonongyedaxue" } }
> 

3、$all操作只对数组有效(类似于 $in),    表示要查询的 $all:[1,2,5,6]    1256  必须全部在要查询的数组中 , 而$in 表示只要有一个就符合查询条件。

> db.user.insert({name:"gaofei",age:24,grade:[1,2,5,6],location:{province:"shandong",city:"jiyang",road:"zuozhuangzhen"}})
WriteResult({ "nInserted" : 1 })
> db.user.find(grade:{$all:[1,2,5,6]})
2015-03-10T21:19:20.164+0800 SyntaxError: Unexpected token :
> db.user.find({grade:{$all:[1,2,5,6]}})    //$all  查询条件
{ "_id" : ObjectId("54feef3626be41dca9db0d25"), "name" : "gaofei", "age" : 24, "grade" : [ 1, 2, 5, 6 ], "location" : { "province" : "shandong", "city" : "jiyang", "road" : "zuozhuangzhen" } }
> 

$all   $in  只是用在数组上

> db.user.find({name:{$all:[1,2,5,6]}})   //字段不是 数组  的情况
> db.user.find({name:{$in:[1]}})
> db.user.find({grade:{$in:[1]}})       //$in 使用查询
{ "_id" : ObjectId("54feef3626be41dca9db0d25"), "name" : "gaofei", "age" : 24, "grade" : [ 1, 2, 5, 6 ], "location" : { "province" : "shandong", "city" : "jiyang", "road" : "zuozhuangzhen" } }
> 

4、skip()   limit()  count()  sort()  使用

其中  skip  跟 limit  使用 类似于   sql语句中的  select * from user limit 0,10;

> db.user.find()    //按照添加顺序列出来
{ "_id" : ObjectId("54feea0a26be41dca9db0d23"), "name" : "zhaoxingzhuang", "age" : 18, "sex" : "man", "location" : { "province" : "shandong", "city" : "jinan", "road" : "shandaroad-47" } }
{ "_id" : ObjectId("54feead226be41dca9db0d24"), "name" : "wangping", "age" : 26, "sex" : "woman", "location" : { "city" : "beijing", "road" : "zhongguonongyedaxue" } }
{ "_id" : ObjectId("54feef3626be41dca9db0d25"), "name" : "gaofei", "age" : 24, "grade" : [ 1, 2, 5, 6 ], "location" : { "province" : "shandong", "city" : "jiyang", "road" : "zuozhuangzhen" } }
//limit   从零开始 查询两条
> db.user.find().limit(2)
{ "_id" : ObjectId("54feea0a26be41dca9db0d23"), "name" : "zhaoxingzhuang", "age" : 18, "sex" : "man", "location" : { "province" : "shandong", "city" : "jinan", "road" : "shandaroad-47" } }
{ "_id" : ObjectId("54feead226be41dca9db0d24"), "name" : "wangping", "age" : 26, "sex" : "woman", "location" : { "city" : "beijing", "road" : "zhongguonongyedaxue" } }
> db.user.skip(1).limit()
2015-03-10T21:26:17.430+0800 TypeError: Property ‘skip‘ of object DEMO.user is not a function
> db.user.find().skip(1).limit()  //从第一条开始
{ "_id" : ObjectId("54feead226be41dca9db0d24"), "name" : "wangping", "age" : 26, "sex" : "woman", "location" : { "city" : "beijing", "road" : "zhongguonongyedaxue" } }
{ "_id" : ObjectId("54feef3626be41dca9db0d25"), "name" : "gaofei", "age" : 24, "grade" : [ 1, 2, 5, 6 ], "location" : { "province" : "shandong", "city" : "jiyang", "road" : "zuozhuangzhen" } }
> db.user.count()   //统计数据总量
3
> db.user.find().sort(age:1)   // 即得要把排序的内容放在 {} 中
2015-03-10T21:27:49.863+0800 SyntaxError: Unexpected token :
> db.user.find().sort({age:1})
{ "_id" : ObjectId("54feea0a26be41dca9db0d23"), "name" : "zhaoxingzhuang", "age" : 18, "sex" : "man", "location" : { "province" : "shandong", "city" : "jinan", "road" : "shandaroad-47" } }
{ "_id" : ObjectId("54feef3626be41dca9db0d25"), "name" : "gaofei", "age" : 24, "grade" : [ 1, 2, 5, 6 ], "location" : { "province" : "shandong", "city" : "jiyang", "road" : "zuozhuangzhen" } }
{ "_id" : ObjectId("54feead226be41dca9db0d24"), "name" : "wangping", "age" : 26, "sex" : "woman", "location" : { "city" : "beijing", "road" : "zhongguonongyedaxue" } }
> 
时间: 2025-01-18 06:31:27

mongoDB之find()操作的相关文章

Ruby操作MongoDB(进阶)-CRUD操作

MongDB数据库的使用离不开CRUD操作.什么是CRUD,就是创建文档,读取文档信息,更新文档和删除文档. key-value键值对标记 在MongoDB的Ruby驱动中,Key_value键值多次出现.而且有时会出现语法上的巧合,这取决于在使用的Ruby版本中如何申明. 在文档创建步骤中,1.9及之后版本支持以下语法: document={name:"Tom",age:20}. 但是如果你使用的是2.2或者更高的版本,你可以用双引号将你的key包起来.如: document={&q

【翻译】MongoDB指南/CRUD操作(二)

[原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(二) 主要内容: 更新文档,删除文档,批量写操作,SQL与MongoDB映射图,读隔离(读关注),写确认(写关注) 1 更新文档 1.1 更新 MongoDB提供下列方法用于更新一个集合 db.collection.updateOne() 更新使用指定过滤器匹配到的文档,即使过滤器匹配到多个文档,也只会更新一个文档. 3.2版本新增特性. db.collection.updateMany(

MongoDB 的聚集操作

聚合引言 聚集操作就是出来数据记录并返回计算结果的操作.MongoDB提供了丰富的聚集操作,能够检测和执行数据集上的计算.运行在mongod上的数据聚集简化了代码和资源限制. 像查询一样,在Mongo的聚合操作使用collections作为输入,并返回一个或多个document作为输出. 聚合模式 聚合管道 MongoDB2.2引入了一个新的聚合框架:聚合管道,这是基于数据处理管道概念的模型.文档输入一个多阶段的管道并将文档转化为一个聚合的结果. 最基本的管道阶段提供了过滤器(Filters)来

【翻译】MongoDB指南/CRUD操作(一)

[原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(一) 主要内容:CRUD操作简介,插入文档,查询文档. CRUD操作包括创建.读取.更新和删除文档. 创建操作 执行创建或者插入操作可向集合中添加文档.如果集合不存在,插入操作会创建此集合. MongoDB提供下列方法向集合中插入文档: db.collection.insert() db.collection.insertOne()  3.2版本新增 db.collection.inser

Python mongoDB 的简单操作

#!/usr/bin/env python # coding:utf-8 # Filename:mongodb.py from pymongo import MongoClient,ASCENDING,DESCENDING import datetime # connection with mongoclient client=MongoClient() # getting a database db=client.test # getting a collection collection=d

MongoDB Shell 常用操作

数组查询 数组查询 MongoDB 中有子文档的概念,一个文档中能方便的嵌入子文档,这与关系性数据库有着明显的不同,在查询时,语法有一些注意点. 例子代码,假如我们的一个集合(tests)中存在标签键,有如下模式: tags: [ObjectId] 查询含有某个标签 ID 的文档 db.tests.find({tags: tagId}); 我现在有一组标签 tagIds,即是数组,需要查询含有该数组中任一元素的文档,此时需要用到 $in 操作符 db.tests.find({tags: {$in

MongoDB的CRUD操作

1. 前言 在上一篇文章中,我们介绍了MongoDB.现在,我们来看下如何在MongoDB中进行常规的CRUD操作.毕竟,作为一个存储系统,它的基本功能就是对数据进行增删改查操作. MongoDB中的增删改查操作,不同于我们熟悉的关系数据库中的操作.在关系数据库中,比如MySQL,我们通常使用SQL语句对数据库进行增(INSERT)删(DELETE)改(UPDATE)查(SELECT).MongoDB在对数据进行操作过程中,使用的是Document进行数据操作.在对数据库进行操作的时候,使用Do

MongoDB命令行操作

1. 连接MongoDB: Mongodb://username:[email protected]/dbname 2. 创建数据库: use dbname:如果数据库不存在则创建数据库,否则切换到指定数据库. 3. 查看所有数据库: show dbs 注: 该命令不会显示新创建的空数据库,若想显示需要向空数据库插入一些数据. MongoDB中默认的数据库为test,若果没有创建新的数据库,集合将存放于test中. 4. 查看当前数据库名: db 5. 删除数据库: db.dropDatabas

Mongodb java api操作

本篇文章主要介绍了mongodb对应java的常用增删改查的api,以及和spring集成后mongoTemplate的常用方法使用,废话不多说,直接上代码: 1.首先上需要用到的两个实体类User和Home,对应用户和家乡 import java.util.List;import org.springframework.data.mongodb.core.mapping.Document;/** * java类转换为mongodb的文档,它有以下几种注释: * [email protected

使用MongoVUE对MongoDB 进行MapReduce操作步骤

Step 1 Open MongoVUE and connect to the server that contains the collection "cities" Step 2 Right-click on "cities" collection under "Database Explorer", and select "MapReduce". This will launch the MapReduce view.