常用语句
概念解析(与)
创建数据库
use DATABASE_NAME;
Copy
删除数据库
db.dropDatabase();#默认为当前数据库
Copy
创建集合
db.createCollection(name, options); 参数说明: name: 要创建的集合名称 options: 可选参数, 指定有关内存大小及索引的选项 实例:db.createCollection("mycol", { capped : true, autoIndexId : true, size : 6142800, max : 10000 } )
Copy
删除集合
db.collection.drop() 如果成功删除选定集合,则 drop() 方法返回 true,否则返回 false。
Copy
插入文档
db.COLLECTION_NAME.insert(document) 或 db.COLLECTION_NAME.save(document) save():如果 _id 主键存在则更新数据,如果不存在就插入数据。该方法新版本中已废弃,可以使用 db.collection.insertOne() 或 db.collection.replaceOne() 来代替。 insert(): 若插入的数据主键已经存在,则会抛 org.springframework.dao.DuplicateKeyException 异常,提示主键重复,不保存当前数据。 版本之后新增了 db.collection.insertOne() 和 db.collection.insertMany()。 db.collection.insertOne() 用于向集合插入一个新文档,语法格式如下: db.collection.insertOne( <document>, { writeConcern: <document> } ) db.collection.insertMany() 用于向集合插入一个多个文档,语法格式如下: db.collection.insertMany( [ <document 1> , <document 2>, ... ], { writeConcern: <document>, ordered: <boolean> } ) 参数说明: document:要写入的文档。 writeConcern:写入策略,默认为 1,即要求确认写操作,0 是不要求。 ordered:指定是否按顺序写入,默认 true,按顺序写入。
Copy
删除文档
语法: db.collection.remove( <query>, { justOne: <boolean>, writeConcern: <document> } ) 参数说明: query :(可选)删除的文档的条件。 justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。 writeConcern :(可选)抛出异常的级别。 删除集合下全部文档: db.inventory.deleteMany({}) 删除 status 等于 A 的全部文档: db.inventory.deleteMany({ status : "A" }) 删除 status 等于 D 的一个文档: db.inventory.deleteOne( { status: "D" } )
Copy
查询文档
查询数据的语法格式如下: db.collection.find(query, projection) query :可选,使用查询操作符指定查询条件 projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。 **如果集合为数字,需要换一种查询方式 db.getCollection(name).find() 如果你需要以易读的方式来读取数据,可以使用 pretty() 方法,语法格式如下: >db.col.find().pretty() pretty() 方法以格式化的方式来显示所有文档。 AND 条件 语法格式如下: >db.col.find({key1:value1, key2:value2}).pretty() OR 条件 OR 条件语句使用了关键字 $or,语法格式如下: >db.col.find( { $or: [ {key1: value1}, {key2:value2} ] } ).pretty()
Copy
条件操作符
(>) 大于 - $gt (<) 小于 - $lt (>=) 大于等于 - $gte (<= ) 小于等于 - $lte 实例: db.col.find({likes : {$gt : 100}});
Copy
$type 操作符
作用:$type操作符是基于BSON类型来检索集合中匹配的数据类型,并返回结果。 实例:db.col.find({"title" : {$type : 'string'}})
Copy
Limit与Skip方法
limit语法: db.COLLECTION_NAME.find().limit(NUMBER); skip() 语法: db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER); 作用: skip()方法来跳过指定数量的数据
Copy
sort()方法
sort() 方法 作用:可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列。 基本语法: >db.COLLECTION_NAME.find().sort({KEY:1})