簡體   English   中英

Matlab通過Java驅動程序從MongoDB集合中刪除所有文檔

[英]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.removeAPI文檔 ,您必須提供一個僅指定刪除條件的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.

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