我有下面的代码
@Override
public List<Snapshots> getData(final String modelId) {
Criteria criteria = Criteria.where("modelId").is(new ObjectId(modelId));
它不返回任何结果。等效于下面的mongo查询
db.Snapshots.aggregate([
{
"$match":{
"modelId":{
"$oid":"5db6ce13f74c7f9f982f2598"
}
},
我知道以上内容将不起作用,因为mongo不知道什么是“ $ oid is”。如果将其更改为ObjectID(“ 5db6ce13f74c7f9f982f2598”),则可以在mongo shell中使用。请让我知道如何从春季传递此十六进制ID。该modelId类似于另一个集合的objectID,在Snapshots集合中被称为外键。
您可以保存(并搜索)十六进制字符串或ObjectId