jjzjj

java - 将投影添加到吗啡查询

在使用Morphia进行查询时,是否可以限制返回的字段(指定投影)?在命令行中像这样:db.Institution.find({name:/^Berlin/},{slug:1})或者使用Java驱动程序:BasicDBObjectprojection=newBasicDBObject("slug",1);collection.find(newBasicDBObject(),projection);谢谢 最佳答案 你知道,看https://code.google.com/p/morphia/wiki/Query#Ignoring_Fi

java - 如何从吗啡中的 ArrayList 中删除特定元素?

我在MorphiaEntity类中使用ArrayList的继承@Embedded引用。@EntitypublicclassFirst{@EmbeddedprivateListsecondClass;privateStringtitle;privateLongid;...getterandsetter..methods}@EmbeddedpublicclassSecond{@EmbeddedprivateListthirdClass;privateStringtitleSecond;...getterandsetter..methods}@EmbeddedpublicclassThird

mongodb - 使用吗啡仅选择mongo db中的一列

我有2列Stringid、StringName和longage。正如我们在sql中所做的那样-从USERDETAILS中选择id,其中Age>5会给我主键数组列表,即“Id”。谁能告诉我如何使用吗啡对mongodb做同样的事情。我尝试使用query.retrieveFields(true,"id").get();但它返回一个USERDETAILS模型作为返回,我只需要id数组。我该怎么做请帮忙 最佳答案 你将用吗啡恢复你的模型类。这就是它的作用。如果您想要原始ID列表,则需要直接使用驱动程序。

java - 如何确认吗啡的删除方法(Mongodb)

我的吗啡数据存储有一个删除方法。这种方法工作正常。但我怀疑它是我们如何获得有关成功删除数据的方法的信息。因为delete()方法返回WriteResult并且在WriteResult中我们必须使用哪个方法才能说数据已被删除。在我的例子中,我使用的是restweb服务,在restweb服务中,我们必须发送200,400,500等http响应。在使用delete方法时,我应该获取有关数据是否真正被删除的信息。我们如何完成这项任务。例子intdeleteMongoObject(MognoDataObjectmongoDataObject){Datastoredatastore=Morphia

java - 吗啡处理坏数据

假设我在mongo中有一些像这样的json:{"n":"5"}和这样的java类:@EntitypublicclassExample{Integern;}这行得通(我知道json应该将值存储为int而不是字符串,但我不控制那部分)。现在当我有像这样的吗啡抛出的数据时:{"n":""}我正在寻找解决方法(我想要的行为是将空字符串视为与null相同)。目前我唯一的解决方法是:publicclassExample{Stringn;publicIntegergetN(){returnNumberUtils.isNumber(n)?NumberUtils.createInteger(n):nul

mongodb - 吗啡的索引注释不起作用

我对吗啡还很陌生,并且努力让索引注释发挥作用。我在静态block中创建数据源并在同一个block中调用ensureIndexes,但它无法应用索引。如果我在保存对象之前放置该行,它就可以工作。顺便说一下,我在Java中使用playframework2。publicclassMongoService{staticprivateMongoClientmongoClient=null;staticDatastoreds=null;static{MorphiaLoggerFactory.reset();MorphiaLoggerFactory.registerLogger(com.google

mongodb - 玩!框架 1.2.4 - 从吗啡中立即保存

我写的seleniumtest是运行时改变一个对象mongodb的属性(使用morphia的save方法),然后检查这个属性是否被改变。但结果变量并没有发生。如何立即储蓄?%{//loadmodels//deleted=true}%#{selenium}click('link=Delete')#{/selenium}%{models.SomeClasssomeObj2=models.SomeClass.find("fieldName","fieldValue").get();booleanexpectedStatus=someObj2.deleted;org.junit.Assert.

mongodb - 如何使用原子操作增加 mongoDB 文档中的 Datetime 字段?吗啡也一样吗?

嗯。就是这样。我有一个包含Datetime字段的文档。现在我需要执行原子操作,这将在某个时期增加这个值,例如。一天。怎么做?最终我需要通过morphia来做到这一点,如果您知道如何,请分享。 最佳答案 日期是自Unix纪元(MongoDBDates)以来的毫秒数。因此,您可以查询包含要递增日期的文档,并添加(inc/decinMorphia)您需要的毫秒数-例如一天。 关于mongodb-如何使用原子操作增加mongoDB文档中的Datetime字段?吗啡也一样吗?,我们在StackOv

java - Mongo 连接泄漏与吗啡

我有一个带有staticMongo=newMongo()和Morphiamorphia=newMorphia()对象的Servlet。每次调用GET时,我都会执行以下操作:doGet(...){...datastore=morphia.createDatastore(mongo,dbName);...}我没有关闭datastore,因为没有关闭方法。每次我调用servlet时,mongo中使用的连接数都会增长:{"current":113,"available":706,"totalCreated":NumberLong(122)}>db.serverStatus().connecti

arrays - 如何使用吗啡过滤mongo文档中的嵌入数组

鉴于我的个人资料数据如下所示,我想找到userName和productId组合的个人资料并且只返回带有该产品相应契约(Contract)的配置文件。{"firstName":"John","lastName":"Doe","userName":"john.doe@gmail.com","language":"NL","timeZone":"Europe/Amsterdam","contracts":[{"contractId":"DEMO1-CONTRACT","productId":"ticket-api","startDate":ISODate('2016-06-29T09:06:
12