java - 使用java从mongodb集合中获取值

标签 java mongodb

这是数据库中的两个不同的集合。我无法弄清楚如何使用 java 从集合中动态获取值。

我想通过java程序获取值,但不使用 硬编码值,如上面在 java 代码中提到的“VerifyEmail.LicenseKey”和“wsf:status.arg0.age”。有没有一种方法可以在不使用 java 硬编码的情况下获取值。

集合1:

{
"_id" : ObjectId("583567ac6c85e71adc1f8bae"),
"wsf:status" : {
    "arg0" : {
        "name" : "James",
        "phonenum" : NumberLong(9848222338),
        "age" : 18
        "status" : "N" 
       }
   },
 }

查询1: 在这里,我使用硬编码值从集合 1 中获取所需的结果。

db.xmlcoll1.find({"wsf:status.arg0.age":18})

集合2:

{
"_id" : ObjectId("582446686c85e73a70696666"),

"VerifyEmail" : {
    "xmlns" : "http://ws.cdyne.com/",
    "email" : "james@yahoo.com",
    "LicenseKey" : 123
} }

查询2:

这里我使用元素“VerifyEmail”的硬编码值 获取值。

db.xmlcoll.find({"VerifyEmail.LicenseKey":123});

最佳答案

您可以尝试使用Morphia如果性能对您来说并不重要。并使用这样的结构进行查询:

underpaid = datastore.createQuery(Employee.class)
                 .field("age").lessThanOrEq(18)
                 .asList();

关于java - 使用java从mongodb集合中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40778112/

相关文章:

node.js - 哪种方法更快,表达: Server-side rendering vs client-side rendering

MongoDB 路径改变?

arrays - 查询返回具有特定日期范围编号的文档,然后对它们进行排序,然后排序

java - 有关套接字和黑莓的帮助

java - 如何支持自定义启动器中的快捷方式固定?

java - 如果我们保持空闲一段时间,连接到 Azure MSSQL DB 时,Spring Boot 应用程序中的数据库连接会关闭

mongodb - 解析 + mongodb + SSL : "no SSL certificate provided by peer"

node.js - Mongoose:Model.create 和 Collection.insert 有什么区别

java - 在包 'qihoo' 中找不到属性 'android' 的资源标识符

Java 异步套接字 IO