mirror of
https://github.com/pocoproject/poco.git
synced 2025-10-20 22:31:31 +02:00
Add ensureIndex
This commit is contained in:
@@ -69,6 +69,44 @@ double Database::count(Connection& connection, const std::string& collectionName
|
||||
}
|
||||
|
||||
|
||||
Poco::MongoDB::Document::Ptr Database::ensureIndex(Connection& connection, const std::string& collection, const std::string& indexName, Poco::MongoDB::Document::Ptr keys, bool unique, bool background, int version, int ttl)
|
||||
{
|
||||
Poco::MongoDB::Document::Ptr index = new Poco::MongoDB::Document();
|
||||
index->add("ns", _dbname + ".players");
|
||||
index->add("name", indexName);
|
||||
index->add("key", keys);
|
||||
|
||||
if ( version > 0 )
|
||||
{
|
||||
index->add("version", version);
|
||||
}
|
||||
|
||||
if ( unique )
|
||||
{
|
||||
index->add("unique", true);
|
||||
}
|
||||
|
||||
if ( background )
|
||||
{
|
||||
index->add("background", true);
|
||||
}
|
||||
|
||||
if ( ttl > 0 )
|
||||
{
|
||||
index->add("expireAfterSeconds", ttl);
|
||||
}
|
||||
|
||||
Poco::SharedPtr<Poco::MongoDB::InsertRequest> insertRequest = createInsertRequest("system.indexes");
|
||||
insertRequest->documents().push_back(index);
|
||||
connection.sendRequest(*insertRequest);
|
||||
|
||||
insertRequest->documents().push_back(index);
|
||||
connection.sendRequest(*insertRequest);
|
||||
|
||||
return getLastErrorDoc(connection);
|
||||
}
|
||||
|
||||
|
||||
Document::Ptr Database::getLastErrorDoc(Connection& connection) const
|
||||
{
|
||||
Document::Ptr errorDoc;
|
||||
|
Reference in New Issue
Block a user