MongoDB数据库笔记
授权认证 (--auth)
mongod --dbpath c:/D/mongodb -logpath c:/D/mongodb/mongodb.log --auth
关联查询且筛选关联字段
这是schema层定义,user表关联task表
,mytasks:[
{type: mongoose.Schema.Types.ObjectId, ref: 'Task'}
]
var options = {};
options.populator=[{path:'mytasks', select:'name code desc price dateStarted dateExpected status maxBidder project',match:{$or: [{status: 'C1'}]}}]
options.filter = {_id:user._id};
HttpService.get('users',options)
.then(function(data) {
if(data && data.data && data.data.success) {
console.log(data.data.data[0].mytasks);
}
else{
return Promise.reject('查询mytasks错误:' + JSON.stringify(data));
}
//这里无需转换字段分项
arrayator.hasRelatedField = false;
arrayator.setCustomFilter(customFilter);
arrayator.setData(data.data.data[0].mytasks);
//console.log(arrayator);
})
.catch(UtilsService.errorHandle)
;
postman
form-data与x-www-form-urlencode区别
form-data主要用于文件上传,key值可以选择file或者Text属性。我们使用表单 上传文件 时,必须让<form>表单的enctype属性值为 multipart/form-data。<form action="" enctype="multipart/form-data">
x-www-form-urlencode是浏览器form表单原生的提交方式,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据。<form action="" enctype="text/plain">
form-data与x-www-form-urlencoded的区别
- multipart/form-data:可以上传文件或者键值对,最后都会转化为一条消息
- x-www-form-urlencoded:只能上传键值对,而且键值对都是通过&间隔分开的
raw json
对象数组传递,如
数据库正则表达式
MongoDB 查询文档 | 菜鸟教程 (runoob.com)
导入数据库
mongorestore -d engyysult -u admin -p faton.Fan --drop dump/engyysult
创建用户
db.createUser({user:'admin',pwd:'faton.Fan',roles:[{role:'readWrite',db:'engyysult'}]});
db.createUser ( {user:"hcl",pwd:"123456",roles: [ {role:"readWrite",db:"engyysult"}]})
删除用户
db.dropUser('hcl')
对数据库操作
展示数据库 show dbs
use test
删除数据库 db.dropDatabase()
对集合操作
use test
插入语句 db.user.insert({"username":"老王","password":"123"})
创建空集合 #db.user
展示集合 show collections
删除集合 db.user.drop()
修改列名
db.getCollection("tasks").updateMany({},{$rename:{"deadline":"dateExpected"}});
db.students.insert({"name" : "高大拿 - A", "sex" : "男", "age" : 19, "score" : 76, "address" : "朝阳区",
"course": ["语文", "数学", "英语", "音乐","政治"],
"parents" : [{"name" : "高大拿 - A(父亲)", "age" : 50, "job" : "工人"},
{"name" : "高大拿 - A(母亲)", "age" : 46, "job" : "职员"}]})
###插入数组 数组外面不要打引号
对象数组
打印查询方法
数据库schema层构建
注意啥时候是对象啥时候是数组,默认返回的是对象数组,也就是最外面一层是数组!!!
html页面
效果
数组
打印查询方法
数据库schema层构建
注意啥时候是对象啥时候是数组,默认返回的是对象数组,也就是最外面一层是数组!!!
html页面 重点!!! 要加track by $index
效果