MongoDB基本操作实例

来源:互联网 发布:减肥 知乎 编辑:程序博客网 时间:2024/05/21 10:16
// 显示所有数据库show dbs
// 切换至'mydb'数据库use mydb    
// 删除当前数据库db.dropDatabase()
// 显示当前数据库中所有集合show collections
// 查询'myCollection'集合中所有数据db.myCollection.find()// 查询'myCollection'集合中所有数据并格式化输出db.myCollection.find().pretty()// 查询'myCollection'集合中所有含有 x: 1 的文档(记录)db.myCollection.find({x: 1})// 查询'myCollection'集合中所有记录 => 以 x 升序(1升序0降序)排列 => 第 4(滤去前3条)到 6(4+2)条文档(记录)db.myCollection.find().skip(3).limit(2).sort({x:1})// 查询'myCollection'集合中总文档(记录)数db.myCollection.find().count()// 查询存在字段 x 的文档(记录)db.myCollection.find({x: {$exists: true}})
// 向'myCollection'集合插入数据 x: 1,y: 2db.myCollection.insert({x:1, y: 2})// 向'myCollection'集合插入数据 x: 1,并自定义编号为 10086(不可重复)db.myCollection.insert({x:1, _id: 10086})// 向'myCollection'集合连续插入10条记录for(var i = 0; i < 10; i++) {    db.myCollection.insert({x: i})}
/*** 将'myCollection'集合中 x: 1 的文档(记录)更新为 x: 999* 注意:* 1. 此方法只更新找到的第一条文档(记录)* 2. 此方法更新后文档(记录)中只剩下 x: 999 ;其他键值对(字段)会被覆盖**/db.myCollection.update({x: 1}, {x: 999})// 只更新 x 字段(不覆盖文档(记录)中其他字段)db.myCollection.update({x: 1}, { $set: {x: 999} })// 将'myCollection'集合中 x: 1 的文档(记录)更新为 x: 999; 若 x: 1 的文档(记录)不存在,则插入db.myCollection.update({x: 1}, {x: 999}, true)//  将'myCollection'集合中 所有 x: 1 的文档(记录)更新为 x: 999db.myCollection.update({x: 1}, {$set:{x: 999}}, false, true)
// 删除集合中的所有数据db.myCollection.remove({})// 删除集合中所有 x: 1 的文档(记录)db.myCollection.remove({x: 1})
// 删除'myCollection'集合db.myCollection.drop()
//查询'myCollection'集合中所有索引db.myCollection.getIndexes()
//在'myCollection'集合中按 x 正向(1正向,-1逆向)排序建立索引db.myCollection.createIndex({x: 1})//在'myCollection'集合中按 x 正向排序,y 逆向排序建立复合索引db.myCollection.createIndex({x: 1, y: -1})//在'myCollection'集合中建立索引并自定义索引名称'indexName'db.myCollection.createIndex({x: 1}, {name:'indexName'})
'myCollection'集合中建立 唯一索引 x: 1。即只能存在一条文档(记录)包含 x: 1db.myCollection.createIndex({x: 1}, {unique: true})
/*** 在'myCollection'集合中建立 过期索引(TTL) ,插入的数据会在30s后自动删除* 注意:* 1. 储存在过期索引字段(此处为time)的值必须是isoDate或isoDate数组,若文档无此字段则不会删除* 2. isoDate数组中按最早的时间删除* 3. 删除机制默认情况下60s运行一次,因此实际删除时间会存在偏差**/db.myCollection.createIndex({time: 1}, {expireAfterSeconds:30})
// 在'myCollection'集合中建立 全文索引db.myCollection.createIndex({article: 'text'})// 搜索多个字段db.myCollection.createIndex({article: 'text', title: 'text'})// 对整个文档建立 全文索引(搜索所有字段)db.myCollection.createIndex({'$**': 'text'})/*** 使用全文索引查询* 注意: 每个集合只能建立一个全文索引**/db.myCollection.find({$text: {$search: 'apple'} })// 使用全文索引查询多个关键词('或'查询)db.myCollection.find({$text: {$search: 'apple water'} })// 使用全文索引查询多个关键词('与'查询)db.myCollection.find({$text: {$search: ' \'apple\' \'water\' '} })// 使用全文索引查询包含 apple 而不包含 waterdb.myCollection.find({$text: {$search: 'apple -water'} })// 使用全文索引查询包含 apple 的文档并按显示相似度排序db.myCollection.find({$text: {$search: 'apple'}}, {score: {$meta: 'textScore'}}).sort({score: {$meta: 'textScore'}})
// 删除所有索引db.myCollection.dropIndexes()// 删除名为'indexName'的索引db.myCollection.dropIndex('indexName')
原创粉丝点击