我刚刚开始使用MongoDb,我注意到我获得了许多重复记录,我认为这些记录是独一无二的.我想知道如何为我的数据使用复合键,我正在寻找有关如何创建它们的信息.最后,我使用Java来访问mongo和morphia作为我的ORM层,因此在你的答案中包括那些将是非常棒的.
Morphia:http://code.google.com/p/morphia/
我想在apache2中创建一个虚拟主机,但我希望它将源文件放在/ var/www文件夹之外,即我需要在配置文件中包含另一个文档根目录,但是我通过编辑apache /来实现它sites-available/default file,但我知道它不是正确的实现方式,任何人都可以建议正确的实现方式吗?
感谢和问候,
巴拉
我在scala-salat Google小组中问了这个问题,但几天没有回复,因此在这里尝试.
我有一个案例类,其中包含一个集合Option
.
case class SomeClass(
var name:Option[String]=None,
var addresses:Option[Set[Address]]=None
)
case class Address(
var street:Option[String]=None,
var zip:Option[String]=None
)
Run Code Online (Sandbox Code Playgroud)
该文档存储在Mongo中就好了.但是,当我尝试使用findOne
(有或没有SalatDAO
)时,地址字段具有表示地址而不是地址案例类的JSON文本.
因此,Lift-JSON会跳过我的case类中的任何字段Option[Collection[A]]
.当我删除Option
并且只是一起使用时addresses=Set[Address]()
,它可以工作.但是现在我最终在我的JSON中没有数据的空集,如果消费者删除了条目,我无法找到更新,或者我得到一个空,Set
因为消费者没有发送此字段原始请求.
使用Option
会将字段设置为None
,这意味着我不必担心它是空的或修改的.
任何帮助将不胜感激.
我刚刚将一个Spring Web应用程序部署到Glassfish上.这个应用程序包含一个为Mongo对象注入的Spring bean,这是非常基本的,它看起来像这样:
<bean id="mongo" class="com.mongodb.Mongo">
<constructor-arg value="127.0.0.1" />
<constructor-arg value="27017" />
</bean>
Run Code Online (Sandbox Code Playgroud)
我启动我的网络应用程序,然后使用这个Mongo对象查询数据库并插入记录等等..一切正常.
但是在我的server.log文件中,我得到了无穷无尽的SEVERE
错误消息.他们是NullPointerException
s和IOException
s.它们似乎与ReplicaSetStatus有关,但我不知道它为什么一直试图连接,它是否默认开启?
有谁知道是什么原因引起的?我该如何解决问题,或者阻止导致问题的原因?
//编辑:部署应用程序后立即启动异常.但是当我禁用我的应用程序,甚至取消部署它们时,它们不会停止.
这些消息只是不断编写,但从我看到的只有4种类型的错误:
[#|2011-04-22T17:49:40.818+0900|SEVERE|glassfish3.1|com.mongodb.ReplicaSetStatus|_ThreadID=37;_ThreadName=Thread-1;|can't update node: 27017:27017
java.lang.NullPointerException
at com.mongodb.OutMessage.reset(OutMessage.java:73)
at com.mongodb.OutMessage.<init>(OutMessage.java:51)
at com.mongodb.OutMessage.query(OutMessage.java:38)
at com.mongodb.DBPort.findOne(DBPort.java:127)
at com.mongodb.DBPort.runCommand(DBPort.java:138)
at com.mongodb.ReplicaSetStatus$Node.update(ReplicaSetStatus.java:149)
at com.mongodb..updateAll(ReplicaSetStatus.java:314)
at com.mongodb.ReplicaSetStatus$Updater.run(ReplicaSetStatus.java:263)
|#]
[#|2011-04-22T17:49:40.818+0900|SEVERE|glassfish3.1|com.mongodb.ReplicaSetStatus|_ThreadID=37;_ThreadName=Thread-1;|can't update node: localhost:27017
java.lang.NullPointerException
at com.mongodb.OutMessage.reset(OutMessage.java:73)
at com.mongodb.OutMessage.<init>(OutMessage.java:51)
at com.mongodb.OutMessage.query(OutMessage.java:38)
at com.mongodb.DBPort.findOne(DBPort.java:127)
at com.mongodb.DBPort.runCommand(DBPort.java:138)
at com.mongodb.ReplicaSetStatus$Node.update(ReplicaSetStatus.java:149)
at com.mongodb.ReplicaSetStatus.updateAll(ReplicaSetStatus.java:314)
at com.mongodb.ReplicaSetStatus.ensureMaster(ReplicaSetStatus.java:306)
at com.mongodb.DBTCPConnector.checkMaster(DBTCPConnector.java:383)
at com.mongodb.ReplicaSetStatus$Updater.run(ReplicaSetStatus.java:275)
|#]
[#|2011-04-22T17:49:41.676+0900|SEVERE|glassfish3.1|com.mongodb.ReplicaSetStatus|_ThreadID=48;_ThreadName=Thread-1;|can't update node: 127.0.0.1:27017
java.io.IOException: couldn't connect to …
Run Code Online (Sandbox Code Playgroud) 是否有一个项目为Android和iOS提供通过WebSocket进行通信的库?我知道jWebSocket,但它已经死了,并没有为iOS提供lib.我知道高速公路,但它也只支持Android.我也知道SocketRocket,但这只适用于iOS.是否有支持两者的东西,或两个与WebSocket 100%兼容的解决方案?
谢谢!
我有java项目,我想转换一个多模块项目(模块).我有一个父项目,我想在父项目中添加我现有的项目.我喜欢eclipse样式文件结构可以在Parent中添加现有项目.
谢谢,
关心和Metta,Ichiro挂起