我正在尝试插入一个新文档,其中_id字段在ReactiveMongo中指定。但是我所有的插入都是使用Mongo默认的增量对象ID执行的。有没有办法在插入过程中指定_id?
这是我的代码。
case class MongoId($oid: String)
object MongoId {
implicit val mongoIdFormat = Json.format[MongoId]
}
case class Person(_id: MongoId, name: String)
object Person {
implicit val PersonFormat = Json.format[Person]
}
val collection = reactiveMongoApi.database.map(_.collection[JSONCollection]("people"))
def save(person: Person) = {
collection.flatMap(d => d.insert(person)).map(wr => wr.hasErrors match {
case true => None
case false => Some(person)
})
}
当然有办法。在插入MongoDB之前,您需要自己生成ObjectId
。下面的示例。
case class Person (_id: BSONObjectID, name: String)
object Person {
implicit val PersonFormat = Json.format[Person]
}
val p = Person(BSONObjectID.generate, "Mac")
save(p)
我必须在mongob上执行查询,我想只选择一个具有特定_id的文档(类型为ObjectId)。 我使用“严格模式”sintax,特别是运算符$oid用于将_id与字符串进行比较。 但是它不起作用!,我现在不知道它是一个错误(一袋mongo-c-drive/mongo-delphi-drive)还是我在ObjectId字段上编写了错误的查询代码。 在一个简单的代码片段下面,存在具有_id的文档,但b
有没有办法使用springmongo将新字段添加到所有现有文档中。 寻找类似的东西 db.collection.update({"all_document"},
问题内容: 我在使用批量API(C#NEST v5.4)插入文档时遇到问题。我有一个文档数组,在数组中有我的ID。 我的代码是: 如何 使用描述符手动 插入 _id ? 提前致谢! 问题答案: 您可以使用类似的方法在上设置索引名称。鉴于以下POCO 例如,使用递增计数器设置ID 产生以下请求
使用MongoDB,我希望找到一个集合中的所有文档,这些文档的id显示在另一个集合中的子文档数组中。在这里使用$in操作符并不真正有效,因为我只尝试匹配子文档中的单个值。 假设我有以下来自db.foos文档: 以下是db.bars: 我想在数据库中查找所有文档。可以在foo数组中找到具有_id的bar(在本例中,返回具有_id1和3的db.bar)。大概是这样的: 当然,那是行不通的。我该如何着手
我正在使用Deploy azure应用程序服务在Team Services中插入构建步骤,我希望能够将PackageAsSingleFile设置为False来构建我的解决方案。但是,当我尝试使用创建的工件的路径发布包时,我得到“未找到具有指定模式的包”。 我是否需要创建两个项目,一个作为zip文件,一个作为文件包才能做我想做的事情?我已经尝试了不同的文件夹路径,但无论如何我都会得到相同的错误。
当设置组件的初始状态时,使用通过道具传入的数据,我是否应该创建一个新的对象,执行类似于... 或者这样做是安全的...