mongoDB操作指令
1. 如何启动服务?
Net start mongoDB
2. 添加数据
Db.collection_name insert(document)
Document为json字符串
Esc: document =
({
title: 'MongoDB 教程',
description: 'MongoDB 是一个 Nosql 数据库',
by: '菜鸟教程',
url: 'http://www.runoob.com',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
})
collection_在那么系统会自动创建。
3.2 版本后还有以下几种语法可用于插入文档:
向指定集合中插入一条文档数据
向指定集合中插入多条文档数据
3. 查询数据
1.Db.collection_name.find(query, projection)
Query 使用查询操作符指定查询条件
Projection 可选,使用投影操作符制定的返回键,查询时返回文档中所有键值,(可忽略 该参数)即可。如果你需要以易读的方式来读取数据,可以使用pretty()方法,语法格式
2.Db.col.find().pretty()
Pretty()方法以格式化的方式显示所有文档
3.db.col.find({“by”:”菜鸟教程”}).pretty() where by = ‘菜鸟教程’ ‘等于’
4.db.col.find({“likes”:{$lt:50}}).prettty() where likes < 50
5.db.col.find({“likes”:{$lte:50}}).pretty() where likes<=50
6.db.col.find({“likes”: {$gt:50}}).pretty() where likes>50
7.db.col.find({“likes”:{$gte:50}}).pretty() where likes>=50
8.db.col.find({“likes”:{$ne:50}}).pretty() where likes !=
9.mongo 查询and
Db.col.find({“likes”:100,”by”:”菜鸟教程”}).pretty() where likes=100 and by =’菜鸟教程’
10.mongo 查询or
Db.col.find({
$or :[
{key1:value1},{key2:value2}
]
})
11. and 与 or 联合使用
以下实例演示了为: 'where likes>50 AND (by = '菜鸟教程' OR title = 'MongoDB 教程')'
Db.col.find({“likes”:{$rt:50}, $or:[
{“by”:”菜鸟教程”},{“title”:”MongoDB”}
]}).pretty()
db.collection.find(query, {title: 1, by: 1}) // inclusion模式 指定返回的键,不返回其他键
db.collection.find(query, {title: 0, by: 0}) // exclusion模式 指定不返回的键,返回其他键
4. 更改数据(mongodb更新数据)
1. Update()
2. Save()
1.Updat() 用于更新已经存在数据
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
})
Query: update 的查询条件
Update :update 为要更改的数据
Upset:默认fasle 不存在记录不插入。True 不存在插入数据
Multu: 默认false更新第一条数据 true 更新全部数据
Db.col.update({“likes:100”},{$set:{“title”:”师帅”}})
2.Save()通过传入文档的方法来替换已有文档
db.collection.save(
<document>,
{
writeConcern: <document>
})
document : 文档数据。
writeConcern :可选,抛出异常的级别。
>db.col.save({
"_id" :ObjectId("5aabc1e988c1dbd7ac3f05e6"),
"title" : "MongoDB",
是一个 Nosql 数据库",
"by" : "Runoob",
"url" : "http://www.runoob.com",
"tags" : [
"mongodb",
"NoSQL"
],
"likes" : 110})
只更新第一条记录:
db.col.update( { "count" : { $gt : 1 } } , { $set : { "test2" : "OK"} } );
全部更新:
db.col.update( { "count" : { $gt : 3 } } , { $set : { "test2" : "OK"} },false,true );
只添加第一条:
db.col.update( { "count" : { $gt : 4 } } , { $set : { "test5" : "OK"} },true,false );
全部添加加进去:
db.col.update( { "count" : { $gt : 5 } } , { $set : { "test5" : "OK"} },true,true );
全部更新:
db.col.update( { "count" : { $gt : 15 } } , { $inc : { "count" : 1} },false,true );
只更新第一条记录:
db.col.update( { "count" : { $gt : 10 } } , { $inc : { "count" : 1} },false,false );
更新单个文档
db.test_collection.updateOne({"name":"abc"},{$set:{"age":"28"}}){ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
db.test_collection.find()
更新多个文档
db.test_collection.updateMany({"age":{$gt:"10"}},{$set:{"status":"xyz"}}){ "acknowledged" : true, "matchedCount" : 3, "modifiedCount" : 3 }
5. 删除文档的方法
remove() 方法已经过时了,现在官方推荐使用 deleteOne() 和 deleteMany() 方法。
删除所有文档
db.DBName.deleteMany({})
删除
db.DBName.deleteMany({ status : "A" })
删除
db.DBName.deleteOne( { status: "D" } )