測試代碼:
DBObject queryCnd=ObjectAndDBObject.obj2DBObjectWithoutNull(like);
DBObject fields=ObjectAndDBObject.obj2DBObject(like);
DBObject field=new BasicDBObject();
field.put("id",null); //我表示field真有弄懂是怎麼回事
//這個find 讓人糾結啊,${1}是條件,可以使簡單的一個DBObject{key:value}表示等於,可以以是兩層嵌套的 {鍵:{條件:值}}
//${2}是返回那些字段,具體還是沒清楚
int skip=(pageNo-1)*pageSize;
int fetchSize=pageSize;
DBCursor cusor= getTable().find(queryCnd,field,skip,fetchSize);
返回結果:
null-CAOshit
null-我靠egls
null-我靠egls
null-我靠egls
null-我靠egls
null-我靠egls
null-nullnull
疑問:分頁限定沒有起作用!?? 莫非那不是分頁參數?坑爹?
test 2--------------------------------------------------------------------------------------------
測試代碼:
DBObject field=new BasicDBObject();
field.put("id",1); //設置id 字段的值,查詢結果將被這個值,覆蓋
field.put("chinese","貌似標記了纔會去查詢"); // s
結果:
44-CAOnull
44-我靠null
44-我靠null
44-我靠null
44-我靠null
44-我靠null
44-我靠null
44-我靠null
44-我靠null
44-我靠null
44-nullnull
44-nullnull
test3-------------------------------------------------------------------------------------------------
DBObject field=new BasicDBObject();
field.put("id",1); //設置id 字段的值,查詢結果將被這個值,覆蓋
field.put("chinese",null); //如果爲null,則覆蓋結果,如果有值,則是默認值,會被非null給過覆蓋
發生異常 :
com.mongodb.MongoException: You cannot currently mix including and excluding fields. Contact us if this is an issue.
at com.mongodb.MongoException.parse(MongoException.java:82)
at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:302)
at com.mongodb.DBCursor._check(DBCursor.java:354)
at com.mongodb.DBCursor._hasNext(DBCursor.java:484)
at com.mongodb.DBCursor.hasNext(DBCursor.java:509)
at cn.allchin.nosql.mongoDB.dao.impl.BasicCRUDMongoDAO.queryPage(BasicCRUDMongoDAO.java:92)
at cn.allchin.nosql.mongoDB.dao.impl.tester.CURDTester.main(CURDTester.java:49)
看來
"可以沒有key,但是value不能爲null"
有高手能夠解釋下麼??這三個test