[英]Matlab delete all documents from MongoDB collection via Java driver
我正在通過Java驅動程序為單元測試的mongodb集合編寫清理例程(我嘗試使用“本機” matlab驅動程序,但是文檔非常少)。
我可以進行連接(至少我認為可以),但是我被困於在DBCollection對象上調用remove方法。
我正在運行以下代碼:
javaaddpath(pathToJarFile)
import com.mongodb.*;
mongoClient = MongoClient(mHost);
mongoConn = mongoClient.getDB(dbName);
auth = mongoConn.authenticate(user,password);
events = mongoConn.getCollection('events');
events.remove();
在最后一行,我得到了錯誤
沒有為類“ com.mongodb.DBCollectionImpl”找到具有匹配簽名的方法“刪除”。
因為我知道DBCollection類存在“刪除”方法,所以我目前有點不知所措。
任何幫助,將不勝感激。 請注意,關於OOP,我本質上是文盲:-S
編輯:
請注意,我也嘗試過
events.remove({});
結果相同的錯誤消息。
根據DBCollection.remove
的API文檔 ,您必須提供一個僅指定刪除條件的DBObject
。 它進一步說傳遞一個空文檔以刪除集合中的所有文檔。 至少您必須提供一個參數。
根據有關如何從集合中刪除所有文檔的文檔 ,只需將表示空文檔的參數{}
傳遞給該方法。 所以你必須打電話
events.remove( {} );
要在注釋中回答您的問題:參數必須是描述刪除條件的DBObject
。 游標不是這樣的文檔。
MATLAB似乎未正確傳遞{}
,因此確實可以創建一個空文檔並將其傳遞以remove
。
工作代碼如下所示:
javaaddpath(pathToJarFile)
import com.mongodb.*;
mongoClient = MongoClient(mHost);
mongoConn = mongoClient.getDB(dbName);
auth = mongoConn.authenticate(user,password);
events = mongoConn.getCollection('events');
empty = BasicDBObject();
events.remove(empty);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.