documento de consulta MongoDB
gramática
MongoDB sintaxe de dados de consulta é a seguinte:
>db.COLLECTION_NAME.find()
encontrar o método () de uma forma não estruturada para exibir todos os documentos.
Se você precisa ser forma legível para ler os dados, você pode usar muito () método de sintaxe é a seguinte:
>db.col.find().pretty()
Método bonita () para formatar a maneira de exibir todos os documentos.
Exemplos
O exemplo a seguir que consultar o col coleta de dados em:
> db.col.find().pretty() { "_id" : ObjectId("56063f17ade2f21f36b03133"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "本教程", "url" : "http://www.w3write.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
Além de encontrar método (), não existe um método findOne () simplesmente devolve um documento.
MongoDB comparação com RDBMS Onde declaração
Se você estiver familiarizado com os dados SQL gerais, a tabela a seguir pode ser melhor compreendido MongoDB consulta declaração condicional:
Operating | formato | exemplo | RDBMS declarações similares |
---|---|---|---|
igual | {<key>:<value> } | db.col.find({"by":"本教程"}).pretty() | where by = '本教程' |
menos que | {<key>:{$lt:<value>}} | db.col.find({"likes":{$lt:50}}).pretty() | where likes < 50 |
Menos do que ou igual a | {<key>:{$lte:<value>}} | db.col.find({"likes":{$lte:50}}).pretty() | where likes <= 50 |
maior do que | {<key>:{$gt:<value>}} | db.col.find({"likes":{$gt:50}}).pretty() | where likes > 50 |
Maior do que ou igual a | {<key>:{$gte:<value>}} | db.col.find({"likes":{$gte:50}}).pretty() | where likes >= 50 |
não é igual | {<key>:{$ne:<value>}} | db.col.find({"likes":{$ne:50}}).pretty() | where likes != 50 |
MongoDB e condições
O método de MongoDB find () pode ser passado mais de uma chave (key), cada chave (key) separados por vírgulas, e SQL e condição convencional.
Sintaxe é como se segue:
>db.col.find({key1:value1, key2:value2}).pretty()
Exemplos
Os seguintes exemplos de por título e as chaves para consultar os dadosneste tutorial MongoDB tutorial
> db.col.find({"by":"本教程", "title":"MongoDB 教程"}).pretty() { "_id" : ObjectId("56063f17ade2f21f36b03133"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "本教程", "url" : "http://www.w3write.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
Semelhante ao exemplo acima, a cláusula WHERE: WHERE by = "tutorial" E title = 'MongoDB Tutorial'
MongoDB condições ou
MongoDB OU declaração condicional usa a palavra-chave$ ou, a sintaxe é a seguinte:
>db.col.find( { $or: [ {key1: value1}, {key2:value2} ] } ).pretty()
Exemplos
Os exemplos a seguir, demonstramos o valor desta consulta tutorialpor títulotecla ou éMongoDBdocumentaçãotutorial.
>db.col.find({$or:[{"by":"本教程"},{"title": "MongoDB 教程"}]}).pretty() { "_id" : ObjectId("56063f17ade2f21f36b03133"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "本教程", "url" : "http://www.w3write.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } >
utilização conjunta AND e OR
O exemplo a seguir demonstra o uso de AND e OR conjunta, semelhante à instrução SQL convencionalé: 'onde gosta> 50 E ( by =' tutorial 'OR title =' MongoDB tutorial ')'
>db.col.find({"likes": {$gt:50}, $or: [{"by": "本教程"},{"title": "MongoDB 教程"}]}).pretty() { "_id" : ObjectId("56063f17ade2f21f36b03133"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "本教程", "url" : "http://www.w3write.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }