📜  如何编写一个函数来有条件地按多列从数据库中获取行?

📅  最后修改于: 2022-05-13 01:56:25.694000             🧑  作者: Mango

如何编写一个函数来有条件地按多列从数据库中获取行?

MongoDB是最流行的 NoSQL 数据库,我们可以在$or$and运算符的帮助下,使用 MongoDB collection.find()函数有条件地从 MongoDB 集合中通过多列从数据库中获取行。 mongodb模块用于连接 MongoDB 数据库以及用于操作 MongoDB 中的集合和数据库。

collection.find()是 node.js 中 MongoDB 模块的方法,用于从 MongoDB 数据库中存在的特定数据库的集合中选择行。

句法:

db.collection.find(query,projection)

参数:该方法有两个默认不需要的参数:

  • 查询:选择查询,用于在选择运算符的帮助下从数据库中获取数据。
  • 投影:投影用于指定集合的哪个字段返回或不返回。  

返回类型:此函数的返回类型为 JSON 对象。

$or or $and operators are used to apply multiple condition on the collection. 

安装模块:您可以使用以下命令安装mongodb模块:

node install mongodb

项目结构:项目结构将如下所示。

在本地 IP 上运行服务器:在以下命令中, data是文件夹名称。

mongod --dbpath=data --bind_ip 127.0.0.1

MongoDB 数据库:我们的数据库名称和集合如下所示,其中包含一些虚拟数据。

Database:GFG
Collection:gfg2

文件名:index.js

Javascript
// Requiring module
const MongoClient = require("mongodb");
 
// Connection URL
const url='mongodb://localhost:27017/';
 
// Our database name
const databasename="GFG"; 
 
MongoClient.connect(url).then((client) => {
     
    const connect = client.db(databasename);
     
    // Connecting to collection
    const collection = connect.collection("gfg2"); 
      
    // Function call with $or operator
    collection.find({$or:[{"name":"GFG"},{"marks":"10"}]}).toArray().then((ans)=>{
        console.log(ans);
    });
     
}).catch((err) => {
  // Printing the error message
  console.log(err.Message);
})



使用以下命令运行index.js文件:

node index.js

输出: