虽然以前用过,但是,当真的查询的时候,很不熟悉。本博客会在闲暇时刻将一些常用的语法都写出来。
客户端工具:NoSQLBooster for MongoDB
---------------------------------------------------------------------------------常用语句---------------------------------------------------------------
新建一个my_test的集合(对应mysql就是表),新建一个由于数据结构是key value的json格式,所以,查询起来直接根据json中的key和value进行查询即可。
1、查询全部的内容。使用关键字find
mysql:select * from my_test;
mongoDB:db.my_test.find();
2、根据条件进行查询,条件为likes=100 id=11
db.my_test.find({"likes":100,"id":11})
3、根据条件筛选出不同的字段
db.my_test.find({"likes":100,"id":11},{"description":1,"likes":1})
3、插入一条语句
db.getCollection("my_test").insert({
"aaa": "123",
"likes": 100,
"id":13,
"description": "描述",
"by": "哈哈哈哈",
"url": "http://www.baidu.com",
"tags": [
"mongodb",
"database",
"NoSQL"
],
})
字段较多的插入,可以直接在客户端工具中直接点击+号直接生成,很方便 。
4、更新一条数据内容
db.my_test.update({ _id: ObjectId("5d7f341cccefc23b8f2dd63a") }, {
$set: {
"description": "新的数据",
"by": "哈哈哈哈",
"url": "http://www.baidu.com",
"tags": [
"mongodb",
"database",
"NoSQL"
],
"likes": 100,
"id":11
}
})
5、更新-根据条件查询出来记录-然后对字段进行更新
db.getCollection('my_test').find({
"head_img" : "headImage.url"
}).forEach(
function(item){
db.getCollection('market_comment').update({"_id":item._id},{$set:{ "head_img": "67e82be6-9c69-4971-affa-0c46e7bc6ef8.png"}})
}
)
6、用in条件查询一个数组
db.my_test.find({"status":{$in:[1,2]}})