簡體   English   中英

如何在jongo插入函數上發送mongodb shell函數

[英]How to send a mongodb shell function on jongo insert functions

我正在嘗試在Jongo驅動程序函數上使用MongoDB shell函數,比如Date(),為我的fiedd生成一個值。 代碼如下:

collection.insert( "{ date: Date() }" );

但它似乎沒有用,有什么建議嗎?

那些是錯誤行

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at org.bson.io.PoolOutputBuffer.write(PoolOutputBuffer.java:89)
at org.bson.LazyBSONObject.pipe(LazyBSONObject.java:474)
at org.jongo.bson.BsonDBEncoder.writeObject(BsonDBEncoder.java:39)
at com.mongodb.BSONBinaryWriter.encodeDocument(BSONBinaryWriter.java:339)
at com.mongodb.InsertCommandMessage.writeTheWrites(InsertCommandMessage.java:45)
at com.mongodb.InsertCommandMessage.writeTheWrites(InsertCommandMessage.java:23)
at com.mongodb.BaseWriteCommandMessage.encodeMessageBody(BaseWriteCommandMessage.java:69)
at com.mongodb.BaseWriteCommandMessage.encodeMessageBody(BaseWriteCommandMessage.java:23)
at com.mongodb.RequestMessage.encode(RequestMessage.java:66)
at com.mongodb.BaseWriteCommandMessage.encode(BaseWriteCommandMessage.java:53)
at com.mongodb.DBCollectionImpl.sendWriteCommandMessage(DBCollectionImpl.java:473)
at com.mongodb.DBCollectionImpl.writeWithCommandProtocol(DBCollectionImpl.java:427)
at com.mongodb.DBCollectionImpl.insertWithCommandProtocol(DBCollectionImpl.java:387)
at com.mongodb.DBCollectionImpl.insert(DBCollectionImpl.java:186)
at com.mongodb.DBCollectionImpl.insert(DBCollectionImpl.java:165)
at com.mongodb.DBCollection.insert(DBCollection.java:161)
at com.mongodb.DBCollection.insert(DBCollection.java:107)
at com.mongodb.DBCollection.save(DBCollection.java:966)
at org.jongo.Insert.save(Insert.java:49)
at org.jongo.MongoCollection.save(MongoCollection.java:128)
at learningjongo.DAO.setUp(DAO.java:42)

我建議你這樣做

collection.insert("{ date: # }", new java.util.Date());

這相當於執行{ date: ISODate() }{ date: new Date() }

正如你在問題中建議的那樣使用Date()產生一個String,所以為了模仿這種行為,你只需要做類似的事情。

collection.insert("{ date: # }", new java.util.Date().toString());

但如果您有選擇,我建議您將其存儲為正確的日期,而不是字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM