0
我想構建一個多字段查詢。多字段scala/casbah查詢
我的收集是由很多像下列文件:
{
"_id" : ObjectId("5601711160b2abcf7ff24b46"),
"id_a" : "43d366a9-a39b-4d49-98ce-369739471b6b",
"id_thing" : -1,
"data" : {
"info1" : 36.0709427,
"date" : "2005-11-01T00:33:21.987+07:00",
"info2" : 24563.87148077
}
}
我沒有找到一種方式,scala
查詢使用,對於對應於文件:id_thing -> -1
和data.info1 -> 36.0709427
。
注意:我不知道如何將ISODate
推送到數據庫。
謝謝。這裏是我現在要做的:'val q = MongoDBObject.newBuilder','q + =「id_thing」 - > -1','q + =「data.info1」 - > 36.0709427','val res = knowledge_db.find (q.result)'。但是,當我嘗試添加一些運算符時,它會拋出「類型不匹配」的錯誤,請參閱:q + =「data.info2」$ gte 2000'。我該如何添加一個運算符到我的查詢中? – wipman
@wipman爲什麼使用'new Builder'方法和字符串形成查詢?沒有必要這樣做。您可以簡單地使用'com.mongodb.casbah.commons'包的'MongoDBObject'。如果你想查找'data.info'> 10,那麼只需使用'collection.find(MongoDBObject(「id_thing」 - > -1,「data.info1」 - > MongoDBObject(「$ gte」 - > 36.0709427))) .toList' – Vishwas
再次感謝。最後一個問題:是否可以從'String'的'MongoDBObject',如:'MongoDBObject(operator_string - > val)'? – wipman