MongoDB适用场景。
- 文档型数据库
- 高性能
- 灵活性
- 可扩展性
- 强大的查询语句
- 高性能
MongoDB中的数据存储类型。
MongoDB的基础语法
show dbs;
db;
use db;
show collections;
db.users.find();
db.dropDatabase();
db.collection.insert();
db.collection.drop();
db.collection.insertOne();
db.collection.insertOne({name:"xmh",age:19});
db.collection.insertMany();
db.collection.insertMany([{name:"x",age:20},{name:"h",age:25}]);
db.collection.insert();
db.collection.insert({name:"xxx",age:200});
db.collection.insert({name:"xmmm",age:50},{name:"du",age:55});
db.collection.find();
db.collection.find({},{})
db.collection.deleteMany({});
db.collection.deleteOne({});
db.test.insert({
"item": "journal",
"qty": 25,
"size": {
"h": 14,
"w": 21,
"uom": "cm"
},
"status": "A"
});
db.test.insert({
"item": "notebook",
"qty": 50,
"size": {
"h": 8.5,
"w": 11,
"com": "in"
},
"status": "A"
})
db.test.find({
"size": {
"h": 14,
"w": 21,
"com": "cm"
}
});
db.test.find({
"size.com":"in"
});
db.test.drop();
db.test.insertMany([
{ item: "journal", qty: 25, tags: ["blank", "red"], dim_cm: [14, 21] },
{ item: "notebook", qty: 50, tags: ["red", "blank"], dim_cm: [14, 21] },
{ item: "paper", qty: 100, tags: ["red", "blank", "plain"], dim_cm: [14, 21] },
{ item: "planner", qty: 75, tags: ["blank", "red"], dim_cm: [22.85, 30] },
{ item: "postcard", qty: 45, tags: ["blue"], dim_cm: [10, 15.25] }
]);
db.test.find({
tags:["red","blank"],
});
db.test.find({
tags:{$all:["red","blank"]}
});
db.test.find({
tags:"red",
});
db.test.find({
dim_cm:{$gt:25}
});
db.test.find({
dim_cm:{$elemMatch:{$gt:25,$lt:50}}
});
db.test.find("dim_cm.1":{$gt:25}});
db.test.drop();
db.test.insertMany([
{
item: "journal",
instock: [{ warehouse: "A", qty: 5 },
{ warehouse: "C", qty: 15 }]
},
{
item: "notebook",
instock: [{ warehouse: "A", qty: 60 },
{ warehouse: "B", qty: 15 }]
},
{
item: "paper",
instock: [{ warehouse: "A", qty: 40 },
{ warehouse: "B", qty: 5 }]
},
{
item: "postcard",
instock: [{ warehouse: "B", qty: 15 },
{ warehouse: "C", qty: 35 }]
}
]);
db.test.find({
"instock":{warehouse:"A",qty:5}
});
db.test.find({
"instock.qty":{$lt:20}
});
db.test.find({
"instock.0.qty":{$lt:20}
});
db.test.find({
"instock": {
$elemMatch: {
qty: 5,
warehouse: "A"
}
}
});
db.test.find({
"instock": {
$elemMatch: {
qty: { $gt: 10, $lte: 20 }
}
}
});
db.test.find({
"instock.qty": { $gt: 10, $lte: 20 }
});
db.test.find({
"instock.qty": 5,
"instock.warehouse": "A"
});
db.test.find({}, {item:1});
db.test.find({}, {item:1,_id:0});
db.test.find({}, {item:0});
db.test.find({},{item:1,status:1,"instock.warehouse":1});
db.test.find({}, {
"instock.warehouse":0
});
db.test.find({}, {"instock":{$slice:-1}});
db.test.find({item:null});
db.test.find({ item: { $type: 10 } });
db.test.find({ item: { $exists: false } });
db.test.drop();
db.test.insert({
"item": "journal",
"qty": 25,
"size": {
"h": 14,
"w": 21,
"uom": "cm"
},
"status": "A"
});
db.test.insert({
"item": "notebook",
"qty": 50,
"size": {
"h": 8.5,
"w": 11,
"com": "in"
},
"status": "A"
});
db.test.updateOne({
{ item : "notebook"},
{
$set:{"size.com":"cm",status:"P"},
$currentDate: {lastModified: true},
});
db.test.updateMany({
{ item : "notebook"},
{
$set:{"size.com":"cm",status:"P"},
$currentDate: {lastModified: true},
});
db.test.replaceOne(
{ item: "notebook" },
{ item: "paper", instock: [{ warehouse: "A", qty: 60 }, { warehouse: "B", qty: 40 }] }
);
db.collection.deleteMany({});
db.collection.deleteOne({});
egg + mongoose RESTful api设计实例
请看:https://blog.youkuaiyun.com/xmh_1997/article/details/123152153