mongo中模糊查询使用和QueryOperators.docx

mongo中模糊查询使用和QueryOperators.docx

ID:57889609

大小:44.22 KB

页数:5页

时间:2020-09-02

mongo中模糊查询使用和QueryOperators.docx_第1页
mongo中模糊查询使用和QueryOperators.docx_第2页
mongo中模糊查询使用和QueryOperators.docx_第3页
mongo中模糊查询使用和QueryOperators.docx_第4页
mongo中模糊查询使用和QueryOperators.docx_第5页
资源描述:

《mongo中模糊查询使用和QueryOperators.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Mongo的高级查询一.Mongo中插入数组或者集合1.Mongo中很正常会看到这样的数据。userCollection是一个类似数组的数据类型。这是如何做到的呢?二.如果向mongo中插入数组。(1)实际上很简单,既然值是一个数组,那么我们就创建一个数组,然后往数组中添加值,当然这边的值都是一些对象引用。(2)对象引用概念:就如关系型数据库中主键和外键的关系,只不过mongo中的对象引用是通过对象DBRef来实现的。(3)Mongo中的主键都是”_id”,并且是由ObjectId对象产生的。例如:DBObjectobj=newBasicDBObject();o

2、bj.put("_id",newObjectId());(4)实例:User表中的的classId肯定是一个对象引用,引用来自class表中的classId主键。我们可以这样来引用:DBRefd=newDBRef(classId);注意:这时候的classId这一列就不是String类型的了,而是对象类型的了。1.Mongo中插入数组实现的代码如下:BasicDaobasicDao=newBasicDao();DBCollectioncoll=basicDao.getDBCollection("User2");DBObjectfield=newBasicDBOb

3、ject();Object[]array=newObject[5];for(inti=0;i

4、lection("User");DBObjectfield=newBasicDBObject();Listlist=newArrayList();for(inti=0;i<5;i++){DBRefref=newDBRef(basicDao.getDB(),"User",newObjectId());list.add(ref);}field.put("userCollection",list);coll.save(field);2.查询数组或者集合中的每一个元素.(1)现在大家都知道mongo中插入数组是啥回事的了,但是现在又遇到一个问

5、题,如何查询这些数组里面的每一个元素?(2)这个不由的让我想到了反射机制,因为我们根本不知道用户插入的时候插入的是数组还是集合,但是可以肯定这两个类型不一样。(3)代码如下:BasicDaobasicDao=newBasicDao();DBCollectioncoll=basicDao.getDBCollection("User2");DBObjectquery=newBasicDBObject();query.put("_id",newObjectId("4e12e3c3912b22d362bdc022"));DBObjectuser=coll.findOne

6、(query);if(user!=null){ObjectuserCollection=user.get("userCollection");if(userCollectioninstanceofList){ListrefList=newArrayList();Listlist=(List)userCollection;for(Objectobj:list){if(objinstanceofDBRef){DBRefref=(DBRef)obj;refList.add(ref);}}System.out.println("userCol

7、lectiontypeisList");System.out.println("refList'ssize:"+refList.size());}if(userCollectioninstanceofObject[]){ListrefList=newArrayList();Object[]array=(Object[])userCollection;for(Objectobj:array){if(objinstanceofDBRef){DBRefref=(DBRef)obj;refList.add(ref);}}System.out.

8、println("use

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。