sha*_*bby 2 mongodb spring-data mongodb-query spring-boot
我正在尝试运行此查询
{campaignId: ObjectId('5a6b11e806f0252e1408e379'),'options.path': 'NT'}
Run Code Online (Sandbox Code Playgroud)
它在Compass中完美运行,但是当我尝试在MongoRepository接口中添加如下所示时:
@Query("{ 'campaignId': ObjectId(?0), 'options.path': ?1})")
public Dialog findByCampaignIdAndPath(String campaignId, String path);
Run Code Online (Sandbox Code Playgroud)
我得到这个例外:
嵌套的异常是com.mongodb.util.JSONParseException:
@Query(“ {'campaignId':ObjectId(?0),'options.path':?1})”)
使用spring-boot版本1.5.9.RELEASE,而不是越野车版本
EDIT1:指定确切的ID名称,如注释中所建议
EDIT2:这是我的Dialog类
@Getter
@Setter
@Document(collection = "Dialog")
public class Dialog {
@Id
public String id;
private DBRef campaignId;
private Message message;
private List<Option> options;
public Dialog(final Message message, final List<Option> options) {
this.message = message;
this.options = options;
}
}
Run Code Online (Sandbox Code Playgroud)
尝试这个:
@Query("{ 'campaignId': ?0, 'options.path': ?1}")
public Dialog findByIdAndPath(String id, String path);
Run Code Online (Sandbox Code Playgroud)
或简单地说:
public Dialog findByCampaignIdAndOptionsPath(String id, String path);
Run Code Online (Sandbox Code Playgroud)
如果Option是嵌入式文档
| 归档时间: |
|
| 查看次数: |
5565 次 |
| 最近记录: |