· CRUD常用命令
-
db.name.insert({
"":"",
"":""
……
}): 向集合名为name的集合中插入json格式的数据(集合不存在会自动创建)
-
db.name.find(): 查询name为name的集合中的数据
-
db.name.findOne(): 查询第一条数据
-
db.name.insertMany([
{"":"","":"",……},
{"":"","":"",……},
……
]): 插入多条数据
-
db.c2.find(
{username:"wangshuo",userage:99},
{username:1,_id:0}
):带条件投影查询(此案例为查询名为c2的集合中的username,不查询_id / 筛选条件为:username为wangshuo、userage为99的数据 / 需注意字段名不加双引号)
-
find()查询方法内是可以写正则表达式的,写法和js相同
-
try{}catch{}: MongoDB可以写try catch命令
-
db.name.update(
{forward:"0"},
{"articleId":"6","likeNum":56,"unLikeNum":"7","forward":"0"}
): 完全修改(此案例为修改name为name的集合的articleId、likeNum、unLikeNum、forward四个属性,查询条件为forward=0)
-
db.lihua.update(
{articleId:"5"},
{$set:{likeNum:"1"}
): 部分修改(此案例为修改name为name的集合的likeNum = 1,查询条件为articleId=5)
-
db.lihua.update(
{forward:"0"},
{$set:{likeNum:"88"}},
{multi:true}
): multi:true 修改多条(上面两个修改案例都只能修改符合条件的第一条)
-
db.name.remove({artcleId:"1"}):删除集合名为name的集合中artcleId为1的数据
-
db.name.remove({}): 不带条件,即删除集合内所有数据
-
db.name.count({"forward":"5"}): 查询条数,若不写条件就会查询集合中共有多少条数据
-
db.name.find().limit(5):分页查询前五条
-
db.name.find().skip(6): 跳过前六条数据,从第七条开始查询
-
db.name.find().sort({forward:-1}): 以转发量降序查询
-
db.name.find().limit(5).skip(2).sort({articleId:1}):从第三条开始分页查五条,以文章id升序(skip:跳过)
-
执行顺序和sql逻辑不同: find条件 > sort > skip > limit
-
db.lihua.find({likeNum:{$gt:NumberInt(10)}}): 查询喜欢数大于10的所有数据(gt:大于、lt:小于、gte:大于等于、lte:小于等于、ne:不等于)
-
db.a_article.find({forward:{$in:[0,1,2]}}).sort({articleId:1}): in / nin操作符(此案例查询转发量in(0,1,2)的数据并以文章ID正序排序)
-
db.a_article.find({
$and:[
{likeNum:{$gte:NumberInt(20)}},
{likeNum:{$lt:NumberInt(200)}}
]
}): and操作符,链接多个条件(此案例中查询喜欢数大于等于20并且小于200的数据)
-
db.a_article.find( {
$or:[
{likeNum:{$gte:NumberInt(20)}},
{author:/花/}
]
} ): or操作符,连接多个条件(此案例中查询喜欢数大于等于20或者作者名包含字符花的数据)
本文来自博客园,作者:荣慕平,转载请注明原文链接:https://www.cnblogs.com/rongmuping/articles/16260400.html
浙公网安备 33010602011771号