2018-11-25 spring data mongodb _

2018-11-25  本文已影响28人  五大RobertWu伍洋

自己写了一个方法,在保存数据到mongodb时自动记录是哪个类哪个方法写入到mongodb去的。

此处直接使用类名和方法名做集合名称了。

String classname = new Exception().getStackTrace()[1].getClassName(); // 获取调用者的类名
String method_name = new Exception().getStackTrace()[1].getMethodName(); // 获取调用者的方法名
MongoManagerPool.toutiaoInsert(listAdverResponse.toJSON(), classname + "_" +method_name);

注意此处 getStackTrace()[1],[0]表示的是MongoManagerPool.toutiaoInsert这个方法自己,[1]表示当前方法。
new Exception().getStackTrace()返回的是一个数组,数组的顺序就是栈的顺序:后进先出。具体获取数组的第几个元素,取决于方法跳了几次才跳到最终操作mongodb写入的代码的。

最后发现mongodb 实现 spring data jpa时,默认就在每条数据中写入了 _class这个属性,和我自己写的那个真是殊途同归啊!

上一篇 下一篇

猜你喜欢

热点阅读