1.插入与查询
1.1 插入文档的语法格式:
db.集合名称.insert({JSON格式的数据})
db.bl_comment.insert({
commentContent: '我是内容',
commentUser: NumberInt(12345),
commentBlog: '123213141321',
commentGoods: NumberInt(0),
createTime: '20200410'
})
创建一个集合,相当于关系型数据中的表,并初始化每个字段对应的值,表名为:bl_comment
1.2 查询集合的语法格式:
db.集合名称.find()
1.3 查询commentContent是'我是内容'的数据
db.集合名称.find({commentContent: ‘我是内容’})
如果需要查询 _id 的值的话需要用 ObjectId(查询条件) 包起来才可以.
1.4 只查询一条
db.bl_comment.findOne({createTime: '2020-04-10'})
1.5 返回指定条数的记录
db.集合名称.find().limit(3)
修改文档的语法结构:
Db.集合名称.update(条件,修改后的数据)
如果我们想修改_id为1的记录,名称为张三,输入以下语句:
Db.集合名称.update({_Id:ObjectId(1)}, {name:’张三’})
执行后,我们会发现,这条文档除了name字段其它字段都不见了,为了解决这个问题,
我们需要使用修改器$set来实现,命令如下:
Db.集合名称.update({_Id:1}, {$set:{name:’张三’}})
删除文档的语法结构:
Db.集合名称.remove(条件)
以下语句可以将数据全部删除,请慎用
Db.集合名称.remove({})
统计记录条件使用count()方法
Db.集合名称.count()
Db.集合名称.count(条件)
MongoDB的模糊查询是通过正则表达式的方式实现的。格式为:
/字符串/
比如标题中包含java的帖子
Db.集合名称.find(title:/java/)
比如查询以“张”开头的名字
Db.集合名称.find(name: /^张/)
大于:$gt,小于$lt,大于等于$gte,小于等于$lte,不等于$ne,包含$in,不包含$nin
查询阅读数大于10的帖子
Db.集合名称.find({readNum:{$gt:10}})
查询评论集合中userid字段不包含1013和1014的文档
Db.集合名称.find({userId: {$nin:[‘1013’, ‘1014’]}})
我们如果需要查询同时满足两个以上条件,需要使用$and操作符将条件进行关联。(相
当于SQL的and)
格式为:
$and:[ { },{ },{ } ]
示例:查询帖子集合中readNum大于等于1000 并且小于2000的文档
Db.集合名称.find( {$and: [ {readNum:{$gte:1000}}, {readNum:{$lte: 2000}} ]} )
如果两个以上条件之间是或者的关系,我们使用$or 用法和and相同
$or:[ { },{ },{ } ]
列值增长
如果我们想实现对某列值在原有值的基础上进行增加或减少,可以使用$inc运算符来实现
Db.集合名称.update({_id:1}, {$inc:{readNum:NumberInt(2)}})