我正在使用mongoDB其中我收集了以下格式.
{"id" : 1 , name : x ttm : 23 , val : 5 }
{"id" : 1 , name : x ttm : 34 , val : 1 }
{"id" : 1 , name : x ttm : 24 , val : 2 }
{"id" : 2 , name : x ttm : 56 , val : 3 }
{"id" : 2 , name : x ttm : 76 , val : 3 }
{"id" : …Run Code Online (Sandbox Code Playgroud) Coll.update(condition, new BasicDBObject("$set", data), true, true))
Run Code Online (Sandbox Code Playgroud)
这是我在mongodb中的更新查询,它提供了一些结果为的结果
{ "err" : null , "updatedExisting" : true , "n" : 1 , "ok" : 1.0}
Run Code Online (Sandbox Code Playgroud)
并且在那时存储的更新查询正确执行.
但对于一些记录,它给出了结果
{ "err" : "not okForStorage" , "code" : 12527 , "n" : 0 , "ok" : 1.0}
Run Code Online (Sandbox Code Playgroud)
记录既不更新也不在sto中存储
在数据中有多个BasicDBList(列表)使用.
如果有人知道plz回复
谢谢
如何使用正则表达式Collection#find(/* HERE */):
val coll = MongoConnection()("foo")("bar")
for(x <- coll.find("name" -> ".*son$".r)) {
// some operations...
}
Run Code Online (Sandbox Code Playgroud) 我有一些代码检查Mongo集合中的每个对象(迭代不带参数的find()的结果),并对其中的一些进行更改.看起来这不安全:我的更改被保存,但是当我继续迭代光标时,更改对象的子集(10-15%)会再次出现.我没有更改文档ID或任何有索引的内容.
我想通过提前抓取所有文档ID(将光标转换为数组)来避免这个问题,但这些是大型集合,所以我真的想避免这种情况.
我注意到默认情况下find()的结果似乎没有任何已定义的顺序,所以我尝试对游标进行显式排序,{"_ id":1}.这似乎解决了这个问题 - 无论我修改什么,现在都没有出现过两次.但我不知道这是不是一个好的/可靠的方法.据我从文档中可以看出,添加排序并不会使其预先查询所有ID; 如果是这样,那很好,但后来我不知道为什么它会解决这个问题.
改变东西时使用游标是一个坏主意吗?
我正在使用Scala/Casbah,如果这很重要的话.
什么是Play Framework 2.1最好的MongoDB驱动程序?
我现在正在尝试ReactiveMongo,但我无法在任何地方找到好的文档,我怀疑它的未来发展.
哪个驱动程序最受欢迎和支持?
谢谢,
GA
我试图在Scala中打印MongoDB查询的结果
val mongoClient: MongoClient = MongoClient()
val database: MongoDatabase = mongoClient.getDatabase("tableScala")
val collection: MongoCollection[Document] = database.getCollection("tableScala")
collection.find().printResults()
Run Code Online (Sandbox Code Playgroud)
抛出的错误是:Cannot resolve symbol printResults.建议使用mongo-scala-driver版本的一些其他问题的答案1.2,因为版本1.1及以下没有实现printResults()
SBT档案:
name := "scalaMongoDriver"
version := "1.0"
scalaVersion := "2.11.8"
libraryDependencies += "org.mongodb.scala" %% "mongo-scala-driver" % "1.2.0-beta1"
Run Code Online (Sandbox Code Playgroud)
尝试使用以下方式手动打印:
collection.find().subscribe(
(user: Document) => println(user.toJson()), // onNext
(error: Throwable) => println(s"Query failed: ${error.getMessage}"), // onError
() => println("Done") // onComplete
)
Run Code Online (Sandbox Code Playgroud)
得到以下信息:
信息:ReadPreferenceServerSelector {readPreference = primary}从集群描述ClusterDescription {type = UNKNOWN,connectionMode = SINGLE,serverDescriptions = [ServerDescription …
我正在使用mongoDB数据库.我收集的格式如下.
{ name : name1 , area: a , country : c}
{ name : name2 , area: b , country : c}
{ name : name3 , area: a1 , country : c1}
{ name : name4 , area: b1 , country : c1}
Run Code Online (Sandbox Code Playgroud)
我想要查询
select * from coll where (country =c and area =a) or (country = c1 and area = b1)
Run Code Online (Sandbox Code Playgroud)
在mongodb查询中.
我已经阅读了很多文档,但没有找到合适的答案.
所以如果有人知道请回复.
谢谢
我有一个用户,其中包含一个指向组织的参考字段"o":
> db.users.findOne()
{
"o" : ObjectId("4ec3548544ae1b7234548826")
}
Run Code Online (Sandbox Code Playgroud)
组织包含字段"n":
> db.organisations.findOne()
{
"n" : "My organization"
}
Run Code Online (Sandbox Code Playgroud)
我想要一个按用户排序的用户列表,最好是在Scala/Lift中.