【MongoDB:】稍微复杂的操作
1:插入数据稍微复杂的形式
doc=(
{"user_id" : "ABCDBWN",
"password" :"ABCDBWN" ,
"date_of_join" :
"15/10/2010" ,
"education" :"B.C.A." ,
"profession" : "DEVELOPER",
"interest" :"MUSIC",
"community_name" :["MODERN MUSIC",
"CLASSICALMUSIC",
"WESTERN MUSIC"],
"community_moder_id" : ["MR. BBB",
"MR. JJJ",
"MRMMM"],
"community_members" : [500,
200,
1500],
"friends_id" :["MMM123",
"NNN123",
"OOO123"],
"ban_friends_id" :["BAN123",
"BAN456",
"BAN789"]
});

> db.person.insert(doc)
WriteResult({ "nInserted" : 1 })
2:利用for循环批量插入文档,上一篇博客已经说过。
3:条件查询
'>'对应'$gt',
'<'对应'$lt',
'>='对应'$gte'
'<='对应'$lte',
'!='对应'$ne',
'='对应'没有关键字'
例如:查询uid>98的数据
> db.person.find({"uid" : {$gt : 98}})
{ "_id" : ObjectId("55471dfc994c2a0fdbfa128b"), "uid" : 100, "addr" : "shanghai"
}
{ "_id" : ObjectId("55471dfc994c2a0fdbfa128c"), "uid" : 99, "addr" : "shanghai"
}
>
例如查询uid不等于99的数据量
> db.person.find({"uid":{$ne : 99}}).count()
100
还有$in,$nin,等
例如:查询uid=100并且addr="shanghai"的文档
> db.person.find({"uid" : 100,"addr":"shanghai"})
{ "_id" : ObjectId("55471dfc994c2a0fdbfa128b"), "uid" : 100, "addr" : "shanghai"
}
>
查询 uid=100 或者 addr="shanghia"的文档
db.person.find({$or:[{},{}]})
> db.person.find({$or:[{"uid":100},{"addr":"shanghai"}]}).count()
查询 addr 以 s开头的文档:
> db.person.find({"addr" : /^s/})
查询addr一i结尾的文档:
> db.person.find({"addr":/i$/})
使用where条件查询
> db.person.find({$where:function(){return this.uid==88}})
{ "_id" : ObjectId("55471dfc994c2a0fdbfa1297"), "uid" : 88, "addr" : "shanghai"
}
>
【MongoDB:】稍微复杂的操作的更多相关文章
- Node.js 中MongoDB的基本接口操作
Node.js 中MongoDB的基本接口操作 连接数据库 安装mongodb模块 导入mongodb模块 调用connect方法 文档的增删改查操作 插入文档 方法: db.collection(& ...
- MongoDB之三(高级操作 聚合、游标)
一: 聚合 常见的聚合操作跟sql server一样,有:count,distinct,group,mapReduce. <1> count count是最简单,最容易,也是最常用的聚合工 ...
- mysql数据库和mongodb数据库的相关操作以及两个数据库的区别
在docs命令中执行数据操作 MySQL数据库 先启动MySQL服务器 net start mysql 进入MySQL服务器MySQL -uroot -p(这里写你的数据库密码) (-P是从哪个端口 ...
- 数据库【mongodb篇】练习操作
本文的目标是通过大量的示例,来更好的理解如果在Mongodb中进行数据操作: 初入客户端刚利用 mongod命令进入客户端环境,此时对数据库一无所知: 举目四望,想知道现在有哪些数据库, show ...
- MongoDB入门 和nodejs操作
简介 MongoDB 开源,高性能的NoSQL数据库:支持索引.集群.复制和故障转移.各种语言的驱动程序:高伸缩性: NoSQL毕竟还处于发展阶段,也有说它的各种问题的:http://coolshel ...
- 第一篇:一天学会MongoDB数据库之Python操作
本文仅仅学习使用,转自:https://www.cnblogs.com/suoning/p/6759367.html#3682005 里面新增了如果用用Python代码进行增删改查 什么是MongoD ...
- mongodb常用语句(集合操作)
mongodb常用语句(集合操作) 查看集合帮助 db.songs.help(); 查看集合总数据量 db.songs.count(); 查看表空间大小 db.songs.dataSize(); 查看 ...
- MongoDB API和python操作
安装 下载mongodb的版本,两点注意 根据业界规则,偶数为稳定版,如1.6.X,奇数为开发版,如1.7.X 32bit的mongodb最大只能存放2G的数据,64bit就没有限制 到官网,选择合适 ...
- python数据库-mongoDB的高级查询操作(55)
一.MongoDB索引 为什么使用索引? 假设有一本书,你想看第六章第六节讲的是什么,你会怎么做,一般人肯定去看目录,找到这一节对应的页数,然后翻到这一页.这就是目录索引,帮助读者快速找到想要的章节. ...
- MongoDB学习笔记:Python 操作MongoDB
MongoDB学习笔记:Python 操作MongoDB Pymongo 安装 安装pymongopip install pymongoPyMongo是驱动程序,使python程序能够使用Mong ...
随机推荐
- centos7安装debuginfo
转自:https://www.72zk.com/show/blog/20 查看内核版本,查找对应的内核rpm文件 [root@localhost ~]#uname -rsp Linux 3.10.0- ...
- 替换NSUserDefaults的方案
替换NSUserDefaults的方案 效果 源码 https://github.com/YouXianMing/iOS-Utilities // // BaseValueStorageManager ...
- svn导出文件进行比较
之前有介绍svn log 的命令,即可导出版本A~B之间所有的修改动作,然后复制出相应的文件(中间有一个算法去处理每一个动作,然后得到最终需要导出的文件列表,svn常用动作有:Modified.Add ...
- 让Java和JavaScript进行交互
本篇博文参考自:http://droidyue.com/blog/2014/09/20/interaction-between-java-and-javascript-in-android/ 我们在使 ...
- Orchard模块开发全接触2:新建 ProductPart
一:创建 Part 1:项目引用 Orchard.Framework: 2:创建 Models 文件夹: 3:在 Models 文件夹下创建类 ProductPartRecord,如下: public ...
- Netty精粹之JAVA NIO开发需要知道的
学习Netty框架以及相关源码也有一小段时间了,恰逢今天除夕,写篇文章总结一下.Netty是个高效的JAVA NIO框架,总体框架基于异步非阻塞的设计,基于网络IO事件驱动,主要贡献在于可以让用户基于 ...
- Java命令学习系列(七)——javap
javap是jdk自带的一个工具,可以对代码反编译,也可以查看java编译器生成的字节码. 一般情况下,很少有人使用javap对class文件进行反编译,因为有很多成熟的反编译工具可以使用,比如jad ...
- 洛谷 p1352 没有上司的舞会 题解
P1352 没有上司的舞会 题目描述 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司.现在有个周年庆宴会,宴会每邀请来一个职员 ...
- 《UNIX环境高级编程》笔记--环境变量
ISO C定义了一个函数getenv,可以用其取环境变量值. #include <stdlib.h> char* getenv(const char* name); //返回与name关联 ...
- go语言之进阶篇通过map生成json
1.通过map生成json 示例1: package main import ( "encoding/json" "fmt" ) func main() { / ...