如何编写一个函数来有条件地按多列从数据库中获取行?
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
输出: