2012-04-17 32 views
1

我想在集成測試之前在我的mongo中刪除數據庫。是否有可能通過春芒格做到這一點?dropDatabase from spring mongo

如果它現在不可用,是否有可能從spring mongo以某種方式獲取com.mongodb.DB對象,所以我可以調用它的dropDatabase()?

回答

2

稍微清潔的解決方案,其我使用是使用MongoDbFactory對象,如下:

mongoDbFactory.getDb().dropDatabase(); 
1

終於找到了!

從mongodb的殼:

> db.dropDatabase 
function() { 
    if (arguments.length) { 
     throw "dropDatabase doesn't take arguments"; 
    } 
    return this._dbCommand({dropDatabase:1}); 
} 

結合mongoOperations' executeCommand

@Autowired private MongoOperations ops; 

@BeforeMethod 
public void dropDb() { 
    this.ops.executeCommand("{dropDatabase:1}"); 
} 
2

mongoTemplate.getDb()。dropDatabase();