Почему агрегатная функция не дает желаемого результата? - PullRequest
1 голос
/ 17 октября 2019

Пытался изменить тип данных всех значений в определенном поле без использования итераторов.

Здесь tid - имя поля

Я попытался запустить код в Mongo, используя

 var ch ={"$addFields" : { "tid" : { "$convert":{"input":"$tid" , "to" : 2}}}}

 db.test.aggregate(ch);

Где тест - моя коллекция

Java-код:

BasicDBObject fieldObject = new BasicDBObject();
fieldObject.put("$convert",new BasicDBObject().append("input", 
"$tid").append("to", 2));
BasicDBObject addField = new BasicDBObject("$addFields",new 
BasicDBObject("tid",fieldObject));
System.out.println(addField);

List<BasicDBObject> options = new ArrayList<>();
options.add(addField);
details.aggregate(options);

Когда я запускаю код в командной строке mongo, типы данных меняются с Integer на String,Но без изменений, когда я запускаю то же самое через код Java. Есть ли проблема с моим кодом Java.

...