MongoDB之CRUD原创
原创1.什么是MongoDB
MongoDB是文档数据库、非关系数据库,使用BSON存储文档数据。
二、MongoDB的CRUD
2.1,数据库的操作
MongoDB随附的原始数据库:admin:类似“root“数据库。
-- 1,查看数据库
show dbs
-- 2,创建数据库
use 数据库名
-- 注:使用use如果数据库存在,则进入相应的数据库,如果不存在,则自动创建;db引用当前图书馆;
-- 如果它是第一次创建,则数据库仅存在于内存中,并且在数据库中创建集合之前不会持久存储到磁盘。
-- 3、删除
db.dropDatabase()
-- 注:用于删除已持久化的数据库。刚在内存中创建的数据库不能删除。
2.2,集合的操作
-- 1,创建集合
db.createCollection("集合名称")
-- 2,查看集合
show tables / show collections
-- 3,删除集合
db.集合名称.drop()
db.md_cus_base_info.deleteMany({})
2.3、单据的操作
增
-- 1、添加
-- 备注:xyj是集合名称,如果尚未创建集合,则会自动创建该名称。
db.xyj.insert({name:"猪八戒",age:28,gender:"男"});
db.xyj.insertOne({_id:"workd",name:"猪八戒",age:28,gender:"男"});
-- 2,批量添加
db.xyj.insert([
{name:"沙和尚",age:38,gender:"男"},
{name:"白骨精",age:16,gender:"女"},
{name:"蜘蛛精",age:14,gender:"女"}
]);
db.xyj.insertMany([
{name:"沙和尚",age:38,gender:"男"},
{name:"白骨精",age:16,gender:"女"},
{name:"蜘蛛精",age:14,gender:"女"}
]);
-- 3,插入文档对象
db.collection.insertOne()
-- 4,插入多个文档对象
db.collection.insertMany()
-- 注意:当我们将文档插入集合时,如果未指定文档id属性,则数据库将自动添加到文档中。id,它用作文档的唯一标识,id您也可以自己指定它。如果指定了数据库,则不会再次添加该数据库。
删
-- 1,删除文档
db.xyj.remove({_id:“workd”})
-- 2,删除文档字段
db.xyj.update({"_id":123}, {"$unset": {"name":1}})
-- 备注:$unset:指定字段的值只需为任何合法值。
-- 3,全部删除
db.xyj.remove({})
查
-- 1,查看全部
db.xyj.find()
-- 同:select * from xyj
-- 2、投影查询:1表示显示 0表示被强制隐藏
db.xyj.find({name:"猪八戒"},{name:1,_id:0})
-- 同:select name from xyj where name= "猪八戒"
-- 3,按字段条件查询
db.xyj.find({name:"猪八戒"})
-- 同:select * from xyj where name= "猪八戒"
-- 4,按字段条件查询并只返回一条
db.xyj.findOne({name:"猪八戒"})
-- 5,组合查询
-- 语法:db.xyj.find($and:[{},{},{}])
-- 查询等级更高20小于50的
db.xyj.find({$and:[{age:{$gt:NumberInt(20)}},{age:{$lt:NumberInt(50)}}]})
-- 查询名称包含“FINE”或较旧30的
db.xyj.find({$or:[{age:{$gt:NumberInt(30)}},{name:/精/}]})
-- 6、比较查询
-- 查询等级更高20岁的
db.xyj.find({age:{$gt:NumberInt(20)}})
-- 备注:
$gt:大于
$lt:小于
$gte:大于或等于
$lte:小于或等于
$ne:不等于(不等于不一定是数字)
-- 7,包括查询
db.xyj.find({age:{$in:[28,38]}})
-- 8,不包含查询
db.xyj.find({age:{$nin:[28,38]}})
-- 9、Like
db.xyj.find({"name": /精/})
-- 10,统计查询
db.xyj.count()
db.xyj.count({字段:条件})
-- 11,是否有($exists)
-- 如果字段存在love,就返回
db.xyj.find({"love": {"$exists": true}})
-- 如果不存在任何字段love,就返回
db.xyj.find({"love": {"$exists": false}})
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
上一篇:供应链管理的终极目标原创 下一篇:ERP系统简介原创