MongoDB教程
MongoDB运算符
MongoDB命令
MongoDB数据库
MongoDB Shell
MongoDB云和工具

MongoDB 映射

下表提供了各种SQL术语和概念,与MongoDB术语和概念相似。
SQL条款 MongoDB条款
database database
table Collection
row document or BSON document
column field
index index
table joins $lookup, embedded document
primary key primary key
在SQL中,我们可以指定任何唯一的列或列组合作为主键。 在MongoDB中,我们不需要设置主键。 _id字段自动设置为主键。
aggregation aggregation pipeline
SELECT INTO NEW_TABLE $out
MERGE INTO TABLE $merge
transactions transactions
以下示例表示各种SQL语句和类似的MongoDB语句。
表中的示例假定以下条件:
SQL示例假定表名称为lidihuo MongoDB示例假定一个名为lidihuo的集合,其中包含以下原型的文档:
{
  _id: ObjectId("509a8fb2bd2f983a0"),
  user_id: "admin123",
  age: 18,
  status: 'A'
}

创建和更改命令

SQL语句 MongoDB语句
CREATE TABLE lidihuo (
id MEDIUMINT NOT NULL
AUTO_INCREMENT,
user_id Varchar(20),
age Number,
status char(1),
PRIMARY KEY (id)
)
db.createCollection(" lidihuo")
ALTER TABLE lidihuo添加ADD join_date DATETIME db.lidihuo.updateMany( {}, {$set: {join_date: new Date()}} )
ALTER TABLE lidihuo DROP COLUMN join_date db.lidihuo.updateMany( {}, {$unset: {" join_date": ""}} )
在lidihuo上创建索引idx_user_id_asc(user_id) db.people.createIndex({user_id: 1})
创建索引idx_user_id_asc开启人员(user_id) db.people.createIndex({user_id: 123,age: 1})
DROP TABLE人员 db.people.drop()

MongoDB和SQL插入语句

SQL插入语句 MongoDB插入语句
INSERT INTO liidihuo (user_id,age,status)VALUES ("mongo",45,"A") db.liidihuo.insertOne({ user_id: "mongo", age: 18, status: "A" })

SQL和Mongo DB选择命令

SQL SELECT语句 MongoDB find()语句
SELECT * FROM liidihuo db.lidihuo.find()
SELECT id, user_id, status FROM lidihuo db.lidihuo.find({},{user_id: 1,status: 1})
SELECT user_id,status from lidihuo db.lidihuo.find({},{user_id: 1,status: 1,_id: 0})
SELECT * FROM lidihuo WHERE status="B" db.lidihuo.find({status: " A"})
SELECT user_id,status from lidihuo WHERE,status="A" db.lidihuo.find({status: " A"},{user_id: 1,status: 1,_id: 0})
SELECT * FROM lidihuo WHERE status!="A" db.lidihuo.find({status: {$ne: " A"}})
SELECT * FROM lidihuo WHERE status = "A" AND age = 50 db.lidihuo.find({status: " A",age: 50})
SELECT * FROM lidihuo WHERE status = "A" OR age = 50 db.lidihuo.find({$or: [{status: " A"}},{age: 50}]})
SELECT * FROM lidihuo WHERE age > 25 db.lidihuo.find({age: {$gt: 25}})
SELECT * FROM lidihuo WHERE age < 25 Db.lidihuo.find({ age: { $lt: 25 } })
SELECT * FROM lidihuo WHERE age > 25 AND age <= 50 db.lidihuo.find({ age: { $gt: 25, $lte: 50 } })
SELECT * FROM lidihuo WHERE user_id like "%bc%" db.lidihuo.find( { user_id: /bc/ } ) 或者 db.lidihuo.find( { user_id: { $regex: /bc/ } } )
SELECT * FROM lidihuo WHERE user_id like "bc%" db.lidihuo.find( { user_id: /^bc/ } ) 或者 db.lidihuo.find( { user_id: { $regex: /^bc/ } } )
SELECT * FROM lidihuo WHERE status = "A" ORDER BY user_id ASC db. lidihuo. find( { status: "A" } ).sort( { user_id: 1 } )
SELECT * FROM lidihuo WHERE status = "A" ORDER BY user_id ASC db. lidihuo. find( { status: "A" } ). sort( { user_id: -1 } )
SELECT * FROM lidihuo WHERE status = "A" ORDER BY user_id DESC db. lidihuo. find( { status: "A" } ). sort( { user_id: -1 } )
SELECT * FROM lidihuo WHERE status = "A" ORDER BY user_id DESC db。 lidihuo。 find({status: " A"})。 sort({user_id: -1})
SELECT COUNT(*) FROM lidihuo db.lidihuo. count() 或者 db.lidihuo. find(). count()
SELECT COUNT(user_id) FROM lidihuo db.lidihuo.count({user_id:{$exists:true}}) 或者 db. lidihuo.find( { user_id: { $exists: true } } ).count()
SELECT COUNT(*) FROM lidihuo WHERE age > 30 db. lidihuo.count({age:{$gt:30}}) 或者 db.lidihuo.find( { age: { $gt: 30 } } ).count()
SELECT DISTINCT(status) FROM lidihuo db. lidihuo.aggregate( [ { $group : { _id : "$status" } } ] ) 或者 db. lidihuo.distinct( "status" )
SELECT * FROM lidihuo LIMIT 1 db. lidihuo.findOne() 或者 db. lidihuo.find(). limit(1)
SELECT * FROM lidihuo LIMIT 5 SKIP 10 db. lidihuo.find(). limit(5). skip(10)
EXPLAIN SELECT * FROM lidihuo WHERE status = "A" db. lidihuo. find( { status: "A" } ). explain()

SQL和MongoDB更新语句

SQL更新语句 MongoDB updateMany()语句
UPDATE lidihuo SETstatus="C" 年龄> 25 db.lidihuo.updateMany({age: {$gt: 25}},{$set: {status: " C"}}})
UPDATE lidihuo SET年龄=年龄+ 3 状态为" A" db.lidihuo.updateMany({status: " A"},{$inc: {age: 3}})
SQL和MongoDB删除语句
SQL删除语句 MongoDB deleteMany()语句
从lidihuo删除,status="D" db.lidihuo.deleteMany({状态: " D"})
从lidihuo删除 db.lidihuo.deleteMany({})

昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4