コード例 #1
0
        public async void AcessarServidor()
        {
            Console.WriteLine("Manipulando Bibliotecas");
            var conection = new ConectandoMongodb();

            var construtorFiltrosLivro = Builders <Livro> .Filter;

            var condicao = construtorFiltrosLivro.Gte(l => l.Ano, 1999);

            Console.WriteLine("Consultando livros");
            var livros = (IEnumerable <Livro>) await conection.Livros.FindAsync <Livro>(condicao);

            var biblioteca = new Biblioteca
            {
                Nome     = "Da Esquina",
                Endereço = "Rua Padre Anchieta",
                Livros   = livros
            };

            Console.WriteLine("Inserindo biblioteca");
            await conection.Bibliotecas.InsertOneAsync(biblioteca);

            Console.WriteLine("Consultando biblioteca");
            var listaBiblioteca = (IList <Biblioteca>) await conection.Bibliotecas.FindAsync <Biblioteca>(new BsonDocument());

            foreach (var doc in listaBiblioteca)
            {
                Console.WriteLine(doc.ToJson <Biblioteca>());
            }
        }
コード例 #2
0
        public async void AcessarServidor()
        {
            //Acessando o mongo atravez da classe de conexão
            var conexaoMongoDb = new ConectandoMongodb();
            //Listando todos os livros, como parametro, podemos passa o find nenhum criterio de busca
            //Quando passamos um documento BsonDocument o nosso critério de busca fica vazio
            var listaLivros = (await conexaoMongoDb.Livros.FindAsync(l => l.Titulo.Equals("Sob *"))).ToList();

            foreach (var doc in listaLivros)
            {
                //Imprimindo os documento da coleção livros
                Console.WriteLine(doc.ToJson <Livro>());
            }
        }
コード例 #3
0
        public async void AcessarServidor()
        {
            Livro livro = new Livro()
            {
                Titulo   = "Star Wars Legends",
                Autor    = "George Lucas",
                Ano      = 2010,
                Paginas  = 245,
                Assuntos = new List <string> {
                    "Ficção Cientifica",
                    "Ação"
                }
            };

            //Acessando o mongo atravez da classe de conexão
            var conexaoMongoDb = new ConectandoMongodb();
            await conexaoMongoDb.Livros.InsertOneAsync(livro);
        }
コード例 #4
0
        public async void AcessarServidor()
        {
            Livro livro = new Livro()
            {
                Titulo   = "Star Wars Ultimate",
                Autor    = "George Lucas",
                Ano      = 2010,
                Paginas  = 245,
                Assuntos = new List <string> {
                    "Ficção Cientifica",
                    "Ação"
                }
            };
            Livro livro2 = new Livro()
            {
                Titulo   = "Cangaceiro JavaScript",
                Autor    = "Flavio Almeida",
                Ano      = 2010,
                Paginas  = 245,
                Assuntos = new List <string> {
                    "Didatico"
                }
            };

            Livro livro3 = new Livro()
            {
                Titulo   = "CSharp",
                Autor    = "Paulo Bressan",
                Ano      = 2010,
                Paginas  = 245,
                Assuntos = new List <string> {
                    "Didatico"
                }
            };

            //Acessando o mongo atravez da classe de conexão
            var conexaoMongoDb = new ConectandoMongodb();
            await conexaoMongoDb.Livros.InsertManyAsync(new List <Livro> {
                livro, livro2, livro3
            });
        }
コード例 #5
0
        public async void AcessarServidor()
        {
            //Acessando o mongo atravez da classe de conexão
            var conexaoMongoDb = new ConectandoMongodb();

            //Construtor de filtros
            var construtor = Builders <Livro> .Filter;

            //condição do filtro, o Eq é Equals, então vamos buscar apenasos autores Stepahn
            var condicao = construtor.Eq(x => x.Autor, "Stepahn");

            Console.WriteLine("Filtrando com o construtor de filtros somente os livros com o autor Stepahn");
            //Listando todos os livros, como parametro, podemos passa o find nenhum criterio de busca
            //Quando passamos um documento BsonDocument o nosso critério de busca fica vazio
            var listaLivros = (await conexaoMongoDb.Livros.FindAsync(condicao)).ToList();

            foreach (var doc in listaLivros)
            {
                //Imprimindo os documento da coleção livros
                Console.WriteLine(doc.ToJson <Livro>());
            }

            //BUSCANDO POR > OU IGUAL A UM VALOR
            //Console.WriteLine("Filtrando cuja o ano de publicação seja > ou igual a 1999");
            //Construtor de filtros
            construtor = Builders <Livro> .Filter;

            //condição do filtro, o Gte é maior ou igual
            condicao = construtor.Gte(x => x.Ano, 1999);

            Console.WriteLine("Filtrando livros onde o ano é maior ou igual a 1999");
            //Listando todos os livros, como parametro, podemos passa o find nenhum criterio de busca
            //Quando passamos um documento BsonDocument o nosso critério de busca fica vazio
            listaLivros = (await conexaoMongoDb.Livros.FindAsync(condicao)).ToList();

            foreach (var doc in listaLivros)
            {
                //Imprimindo os documento da coleção livros
                Console.WriteLine(doc.ToJson <Livro>());
            }

            //BUSCANDO POR MAIOR OU IGUAL E QUE TENHA MAIS DE 300 PAGINAS
            construtor = Builders <Livro> .Filter;

            //condição do filtro, o Gte é maior ou igual
            //Livros onde o ano é maior ou igual a 1999 e que tenha a quantidade maior ou igual a 300
            condicao = construtor.Gte(x => x.Ano, 1999) & construtor.Gte(x => x.Paginas, 300);

            Console.WriteLine("Filtrando livros onde o ano é maior ou igual a 1999 e que a quantidade seja maior ou igual a 300");
            //Listando todos os livros, como parametro, podemos passa o find nenhum criterio de busca
            //Quando passamos um documento BsonDocument o nosso critério de busca fica vazio
            listaLivros = (await conexaoMongoDb.Livros.FindAsync(condicao)).ToList();

            foreach (var doc in listaLivros)
            {
                //Imprimindo os documento da coleção livros
                Console.WriteLine(doc.ToJson <Livro>());
            }

            //BUSCANDO POR SUB DOCUMENTOS
            construtor = Builders <Livro> .Filter;

            //condição do filtro, o AnyEq busca dentro dos sub documentos um valor
            //Livros onde o assunto é Ficção Cientifica, ou seja buscar sub documentos
            condicao = construtor.AnyEq(x => x.Assuntos, "Ficção Cientifica");

            Console.WriteLine("Filtrando livros somente de Ficção Cientifica SUB DOCUMENTO DE LIVRO");
            //Listando todos os livros, como parametro, podemos passa o find nenhum criterio de busca
            //Quando passamos um documento BsonDocument o nosso critério de busca fica vazio
            listaLivros = (await conexaoMongoDb.Livros.FindAsync(condicao)).ToList();

            foreach (var doc in listaLivros)
            {
                //Imprimindo os documento da coleção livros
                Console.WriteLine(doc.ToJson <Livro>());
            }
        }