我正在尝试从spring框架的mongoTemplete的executeCommand执行类似“ db.post.find()。pretty()”的查询。但是我做不到,有没有一种方法可以直接从mongotempelate执行上述查询?任何帮助表示赞赏。

这是我的代码:

public CommandResult getMongoReportResult(){
    CommandResult result=mongoTemplate.executeCommand("{$and:[{\"by\":\"tutorials point\"},{\"title\": \"MongoDB Overview\"}]}");
    return result;
}

最佳答案

是的,但是您应该传递BasicDBObject作为参数,而不是字符串,如下所示:
(并且您的命令格式不正确,请参见find command

BasicDBList andList = new BasicDBList();
andList.add(new BasicDBObject("by", "tutorials point"));
andList.add(new BasicDBObject("title", "MongoDB Overview"));
BasicDBObject and = new BasicDBObject("$and", andList);
BasicDBObject command = new BasicDBObject("find", "collectionName");
command.append("filter", and);
mongoTemplate.executeCommand(command);

10-08 20:13