使用Java驱动程序的聚合管道更新Mongo DB
Mongo DB允许在更新操作中使用聚合管道 我想使用Kotlin/Java驱动程序实现这一点。我希望将文档中的date属性更改为字符串。不确定是否可以这样做,我在Java驱动程序文档中没有看到任何关于这方面的文档(ofc下面的代码不起作用,这只是一个草稿): 有人有过这样的经历吗?任何建议都会有帮助。这很有效使用Java驱动程序的聚合管道更新Mongo DB,java,mongodb,kotlin,aggregation-framework,Java,Mongodb,Kotlin,Aggregation Framework,Mongo DB允许在更新操作中使用聚合管道 我想使用Kotlin/Java驱动程序实现这一点。我希望将文档中的date属性更改为字符串。不确定是否可以这样做,我在Java驱动程序文档中没有看到任何关于这方面的文档(ofc下面的代码不起作用,这只是一个草稿): 有人有过这样的经历吗?任何建议都会有帮助。这很有效 db.getCollection("groupProductLine").updateMany( and( ne("product
db.getCollection("groupProductLine").updateMany(
and(
ne("products", null),
or(
type("products.launchDate", BsonType.DATE_TIME)
)
),
listOf(
set(
"products.lLaunchDate",
Document(
"\$dateToString",
Document("date", "\$products.launchDate")
.append("format", "%d-%m-%Y")
.append("timezone", "+02:00")
.append("onNull", null)
)
)
)
)
这起作用了
db.getCollection("groupProductLine").updateMany(
and(
ne("products", null),
or(
type("products.launchDate", BsonType.DATE_TIME)
)
),
listOf(
set(
"products.lLaunchDate",
Document(
"\$dateToString",
Document("date", "\$products.launchDate")
.append("format", "%d-%m-%Y")
.append("timezone", "+02:00")
.append("onNull", null)
)
)
)
)