本文共 1948 字,大约阅读时间需要 6 分钟。
最简单的使用GridFS的方法就是使用mongofiles
mongofiles内置的MongoDB中,可以用来在GridFS中上传、下载、列示、查找和删除文件
把文件存入GridFS
mongo put fileName
列出GridFS内文件
mongo list
从GridFS内将文件写入文件系统
mongo get fileName
根据文件名查找文件
mongo search fileName
删除文件
mongo delete fileName
db.eval()用来的MongoDB的服务器端执行js脚本
db.eval("function(){ return 'helloworld'}")
使用eval的第二个参数传递js函数的参数
db.eval("function(a){ return a;}",[1])
存储js
system.js存放js变量
使用insert插入变量:
db.system.js.insert({ "_id":"x","value":1})db.system.js.insert({ "_id":"y","value":2})db.system.js.insert({ "_id":"z","value":3})db.eval("return x+y+z;")
也可以存放js代码
写日志函数log
db.system.js.insert({ "_id":"log","value": function(msg,level){ var levels = ["DEBUG","WARN","ERROR","FATAL"]; level = level ? level : 0; var now = new Date(); print(now+" "+levels[level]+msg); } })
调用方法
db.eval("x=1;log('x is ' + x);x=2;log('x is greater than 2',1);")
输出日志
2017-05-06T09:01:03.550+0800 I - [js] Sat May 06 2017 09:01:03 GMT+0800 DEBUGx is 12017-05-06T09:01:03.550+0800 I - [js] Sat May 06 2017 09:01:03 GMT+0800 WARNx is greater than 2
{"$ref":collection,"$id":id_value,"$db":db}
参数顺序必须先是
ref 引用的集合 id 引用的文档id 再是可选的db 数据库exp:
users集合:
db.users.insert([ { "_id":"mike","display_name":"MIKE_d"}, { "_id":"kritina","display_name":"KRISTINA"}])
notes集合:
db.notes.insert([ { "_id":5,"author":"mike","text":"hello,i'm mike"}, { "_id":20,"author":"kritina","text":"O ever youthful,O ever weeping!","reference":[ { "$ref":"users","$id":"mike"}, { "$ref":"notes","$id":5} ]}])
var note = db.notes.findOne({ "_id":20})note.reference.forEach(function(ref){ printjson(db[ref.$ref].findOne({ "_id":ref.$id}));})
输出:
{ "_id" : "mike", "display_name" : "MIKE_d" }{ "_id" : 5, "author" : "mike", "text" : "hello,i'm mike" }
转载地址:http://maqli.baihongyu.com/