📅  最后修改于: 2023-12-03 15:38:05.115000             🧑  作者: Mango
为了从2个不同的MongoDB集合中获取数据,我们需要使用Node.js中的Mongoose库,并使用Mongoose的connect()方法连接到MongoDB数据库。然后,我们可以使用Mongoose的model()方法定义2个不同的MongoDB集合,并使用find()方法从这些集合中查询数据。最后,我们可以使用Promise.all()方法将这些数据一起返回。
使用Mongoose的connect()方法连接到MongoDB数据库。以下是连接到MongoDB数据库的示例代码片段。
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test', {useNewUrlParser: true, useUnifiedTopology: true})
.then(() => console.log('MongoDB Connected'));
使用Mongoose的model()方法定义2个不同的MongoDB集合,并使用find()方法从这些集合中查询数据。以下是定义MongoDB集合和查询数据的示例代码片段。
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const UserSchema = new Schema({
name: String,
age: Number
});
const ProductSchema = new Schema({
name: String,
price: Number
});
const User = mongoose.model('User', UserSchema);
const Product = mongoose.model('Product', ProductSchema);
const getUsers = () => {
return User.find({});
}
const getProducts = () => {
return Product.find({});
}
最后,我们可以使用Promise.all()方法将这些数据一起返回。以下是使用Promise.all()方法返回数据的示例代码片段。
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const UserSchema = new Schema({
name: String,
age: Number
});
const ProductSchema = new Schema({
name: String,
price: Number
});
const User = mongoose.model('User', UserSchema);
const Product = mongoose.model('Product', ProductSchema);
const getUsers = () => {
return User.find({});
}
const getProducts = () => {
return Product.find({});
}
Promise.all([getUsers(), getProducts()]).then(results => {
const users = results[0];
const products = results[1];
console.log(users);
console.log(products);
});
以上是如何使用Node.js从2个不同的MongoDB集合中获取数据的全部内容。