gpt4 book ai didi

mongodb - 如何使用mongodb scala驱动程序在insertOne之后返回mongodb ObjectId _id

转载 作者:行者123 更新时间:2023-12-05 07:13:15 24 4
gpt4 key购买 nike

如果可能的话,我想返回insertOne操作后mongo生成的ObjectId()

 def insert(inputDocument : Map[String,Any], databaseName : String, collectionName : String, mongoClient : MongoClient)
: Future[Completed] = {

implicit val formats: DefaultFormats.type = DefaultFormats

val createdAt = new Date()
val createdAtUnix = System.currentTimeMillis()

val insertJson = write( inputDocument ++ Map("createdAt" -> createdAt, "createdAtUnix" -> createdAtUnix))

val database: MongoDatabase = mongoClient.getDatabase(databaseName)
val collection: MongoCollection[Document] = database.getCollection(collectionName)

val insertDocument = Document(insertJson)
collection
.insertOne(insertDocument)
.toFuture()

}

如果不可能,我知道可以生成一个,但如何确定它是唯一的?

最佳答案

要获取插入的对象的 ID,请使用:

collection.insertOne(e).head.map{_ => e._id.toHexString}

如果你想发送你自己的 id 到 mongo 生成它并使用 immutable.Document , 但对于不可变文档,不要忘记始终设置 _id .

要生成唯一 ID,您可以使用“ObjectId.get()”

关于mongodb - 如何使用mongodb scala驱动程序在insertOne之后返回mongodb ObjectId _id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60212000/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com