-
更新一条不存在的数据不会有任何操作 需求:如果更新的数据不存在,则自动创建一条目标值的数据 指令: >db.imooc_collection.update({y:100},{y:999},true) #更新y=100的数据为y=999,如果没有y=100的数据,则insert一条y=999的数据查看全部
-
数据更新update 1.db.imooc_collection.update({x:1},{x:999}) #将x为1的数据更新为x=999 update接收两个参数,第一个是过滤条件,这里是x=1的数据,第二个是需要修改的目标值 2.另一种情况,一条数据包含三个字段值,如 >db.imooc_collection.insert({x:100,y:100,z:100}) 如果直接执行>db.imooc_collection.update({z:100},{y:99}) #将z为100的数据中的y更新为99 这样会将x和z覆盖掉,只剩下y:99 为了避免这种情况,需要: >db.imooc_collection.update({z:100},{$set:{y:99}}) #加入set操作符 set操作符为部分更新操作符,使用set后,内容中存在的字段会被更新,而不存在的字段会保持原状查看全部
-
mongodb基本操作: 1.链接建立的服务器:./bin/mongo 127.0.0.1:12345/test 2.>show dbs #查看系统中有多少数据库 3.>use imooc #切换数据库 4.db.dropDatabase() #删除当前所在数据库imooc 5.再>use imooc #此时没有这个库,必要时mongodb会自动建立 mongodb中一个表称为一个集合 6.文档的写入 >db.imooc_collection.insert(参数) #向imooc库中写入数据,格式db.集合名.insert(),insert接收一个参数,参数即要写入的文档,格式为json格式 例如:>db.imooc_collection.insert({x:1}) 6.>show collections #查看创建的表 7.>db.imooc_collection.find() #查询所有文档 查询出的内容:{"_id":ObjectId("id值"),"x":1} id我们没有定义,是mongodb自己生成的字段,在全局范围内不会重复 insert时,如果指定了_id,那么不可重复,重复会报错, 7.>db.imooc_collection.find({x:1}) #查询x为1的数据 8.for(i=3;i<100:i++)db.imooc_collection.insert({x:i}) #支持js的for循环语法循环操作 9.db.imooc_collection.find().count() #计数 10.db.imooc_collection.find().skip(3).limit(2).sort({x:1}) #跳过前三条数据,限制查询出两条数据,并且使用x字段排序(分页)查看全部
-
mongodb安装完成后,搭建一个简单的mongodb服务器 方式: 1.创建服务目录:mkdir mongodb_simple & cd mongodb_simple/ 2.创建data目录,存储数据库的数据文件:mkdir data 3.创建log文件夹,存储日志文件:mkdir log 4.创建conf目录,存储启动配置文件:mkdir conf 5.创建bin目录,存储数据库二进制文件:mkdir bin 6.将编译好的mongod二进制文件拷贝到Bin中 7.进入conf文件夹中,编辑一个配置文件 vi mongod.conf port=12345 dbpath=data #mongod数据存储目录 logpath=log/mongod.log #日志文件,需要指明实际文件 fork=true #linux表明启动后台进程,在win中无效 8. ./bin/mongod -f conf/mongod.conf #启动mongod,指明配置文件启动方式 此时,data和log已经生成数据文件和日志文件查看全部
-
1.mongod -f mongod.conf 按指定配置文件启动mongodb 2.启动mongo客户端:./bin/mongo 127.0.0.1:12345/test mongo二进制 IP:端口/数据库 3.关闭mongo客户端:db.shutdownServer()关闭/或直接kill mongod的进程 kill -15 pid 通过db.shutdownServer方式,需要先进入admin权限,进入方式:use admin查看全部
-
打车 团购查看全部
-
地理位置索引查看全部
-
好处: 不必为不存在的字段创建索引 减少磁盘占用,增大插入速度 查找只存在字段的记录查看全部
-
索引唯一性 不能插入相同的数据 有数据不插入新数据,没数据则插入数据查看全部
-
db.collenction.ensureIndex({param1},{param2})-->param1是索引的值,param2是索引的属性。 索引属性:名字,唯一性,稀疏性,是否定时删除(过期索引)。可用名字代替删除索引 删除主键(名字)eg: db.collenction..dropIndex("键名")查看全部
-
全局索引的限制: 1. 每次查询,只能指定一个$text查询 2. $text查询不能出现在$nor查询中 3. 查询中如果包含了$text, hint不再起作用 4. MongoDB全文索引还不支持中文查看全部
-
全文索引相似度,并用sort排序: $meta操作符:{score:{$meta:"textScore"}} db.imooc_2.find({$text:{$search:"aa bb"}},{score:{$meta:"textScore"}}).sort({score:{$meta:"textScore"}})查看全部
-
一个数据集合 只允许创建一个数据集合 db.articles.find({$text:{$search:"coffee"}}) db.articles.find({$text:{$search:"aa bb cc"}}) 包含aa或bb或cc的数据 db.articles.find({$text:{$search:"aa bb -cc"}}) 同时包含aa、bb且不包含cc的数据 db.articles.find({$text:{$search:"\"aa\" \"bb\" \"cc\""}})同时包含aa、bb、cc的数据(用“”包裹起来,引号需要用反斜杠转义)查看全部
-
建立方法: db.articles.ensureIndex({key:"text"}) db.articles.ensureIndex({key_1:"text","key_2:"text"}) db.articles.ensureIndex({"$**":"text"})查看全部
-
不使用全文索引:查找困难,效率低下,需要正则匹配,逐条扫描。 使用全文索引:简单查询即可查询需要的结果查看全部
举报
0/150
提交
取消