উত্স কোড অনেক সাহায্য করতে পারে।
এটি জাভা তবে আমার ধারণা এটিও সাহায্য করতে পারে।
দ্য findOne()
,
DBObject findOne(DBObject o, DBObject fields, DBObject orderBy, ReadPreference readPref,
long maxTime, TimeUnit maxTimeUnit) {
QueryOpBuilder queryOpBuilder = new QueryOpBuilder().addQuery(o).addOrderBy(orderBy)
.addMaxTimeMS(MILLISECONDS.convert(maxTime, maxTimeUnit));
if (getDB().getMongo().isMongosConnection()) {
queryOpBuilder.addReadPreference(readPref);
}
Iterator<DBObject> i = find(queryOpBuilder.get(), fields, 0, -1, 0, getOptions(), readPref, getDecoder());
DBObject obj = (i.hasNext() ? i.next() : null);
if ( obj != null && ( fields != null && fields.keySet().size() > 0 ) ){
obj.markAsPartialObject();
}
return obj;
}
এবং এখানে find()
public DBCursor find( DBObject ref ){
return new DBCursor( this, ref, null, getReadPreference());
}
যেহেতু আমরা দেখতে পাচ্ছি যে findOne()
সেগুলিতে find()
এটি কল রয়েছে, সমস্ত কিছু পেয়ে DBOject
যায় i
এবং তারপরে প্রথমটি ফিরে আসে।
find().limit(1)
সাধারণ প্রোগ্রামিংয়ের সময় আপনার কী কী অতিরিক্ত ক্রিয়াকলাপগুলি করা উচিত (যেমন আসলে ডেটা উদ্ধার করা এবং কার্সার বন্ধ করে দেওয়া) যাfindOne()
স্বয়ংক্রিয়ভাবে আপনার জন্য কী করে?