public IDocumentCollection GetDefaultCollection(string databaseName, string collectionName)
        {
            if (!this.UseDatabase)
            {
                return(null);
            }

            if (this.DatabaseDriver == null || !this.DatabaseDriver.IsConnected)
            {
                this.Connect();
            }

            if (!this.DatabaseDriver.IsConnected)
            {
                return(null);
            }

            IDocumentDatabase database = this.DatabaseDriver.GetDatabase(databaseName);

            if (database == null)
            {
                return(null);
            }

            var collection = this.DatabaseDriver.GetCollection(database, collectionName);

            return(collection);
        }
示例#2
0
 public PostHandler(IDocumentDatabase database, ISecurityContext securityContext,
                    IUrlRegistry urlRegistry)
 {
     _database        = database;
     _securityContext = securityContext;
     _urlRegistry     = urlRegistry;
 }
示例#3
0
 public CouchDbStore(string name, string server, string database = null, int? port = null)
 {
     _database = database ?? DefaultDatabase;
     _port = port ?? DefaultPort;
     Name = name;
     // This URL checks both that the server is up, and that the view index is up to date
     _url = string.Format("http://{0}:{1}/{2}/_design/{3}/_view/broadcastMessages?limit=0", server, _port, _database, DesignDoc);
     _db = new CouchClient(server, _port, null, null, false, AuthenticationType.Basic).GetDatabase(_database);
 }
示例#4
0
        protected BaseDocumentContext(string serverUrl, string databaseName, bool autoconnect = true)
        {
            this.Database = new MongoDatabase(serverUrl, databaseName, this, null);

            if (autoconnect)
            {
                this.Database.Connect();
            }
        }
示例#5
0
        public async Task CreateSingleIndexTest()
        {
            await _documentServer.DropDatabase(_workContext, _dbName);

            IDocumentDatabase db = _documentServer.GetDatabase(_workContext, _dbName);
            await db.CreateCollection(_workContext, _collectionName);

            IDocumentCollection <TestDocument> collection = db.GetCollection <TestDocument>(_collectionName);

            IEnumerable <IndexDetailV1> list = await collection.Index.ListIndexes(_workContext);

            list.Should().NotBeNull();
            list.Count().Should().Be(1);

            list.First().Name.Should().Be("_id_");

            var model = new CollectionIndex
            {
                Name   = "TestIndex_1",
                Unique = true,
                Sparse = false,
                Keys   = new List <IndexKey>
                {
                    new IndexKey {
                        FieldName = "FirstName"
                    },
                    new IndexKey {
                        FieldName = "Last Name"
                    },
                }
            };

            await collection.Index.CreateIndex(_workContext, model);

            list = await collection.Index.ListIndexes(_workContext);

            list.Should().NotBeNull();
            list.Count().Should().Be(2);

            list.First().Name.Should().Be("_id_");

            IndexDetailV1 detail = list.Skip(1).First();

            detail.Name.Should().Be(model.Name);
            detail.Unique.Should().Be(model.Unique);
            detail.Sparse.Should().Be(model.Sparse);
            detail.Keys.Count.Should().Be(model.Keys.Count);
            detail.Keys[0].FieldName.Should().Be(model.Keys[0].FieldName);
            detail.Keys[0].Descending.Should().Be(model.Keys[0].Descending);
            detail.Keys[1].FieldName.Should().Be(model.Keys[1].FieldName);
            detail.Keys[1].Descending.Should().Be(model.Keys[1].Descending);

            await db.DropCollection(_workContext, _collectionName);

            await _documentServer.DropDatabase(_workContext, _dbName);
        }
示例#6
0
 private static void DeleteDocs(IEnumerable<JToken> rows, IDocumentDatabase db)
 {
     var docs = rows.Select(row => BulkDeleteDoc(row.Value<string>("id"), row["value"].Value<string>("rev"))).ToList();
     db.SaveDocuments(new Documents { Values = docs }, false);
 }