假设我有一个像这样的简单猫鼬模式
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const UserSchema = new Schema({
name: String;
age: String,
created: { type: Date, default: Date.now }
})
module.exports = mongoose.model('User', UserSchema);
我可以使用User.find({})
轻松找到所有用户集合。但是我只想通过其_id查找指定的集合。
例如,我有10个用户集合,并且想在此动态数组中仅根据其ID查找用户
["5b66c0868278664f0d2f2fec","5b66c5a947eaed565b694efa"]
因此我需要使用where
或match
吗?
答案 0 :(得分:1)
您尝试过$in
吗?
User.find({_id : {$in : ["5b66c0868278664f0d2f2fec","5b66c5a947eaed565b694efa"]})
$ in运算符选择文档中某个字段的值 等于指定数组中的任何值。要指定$ in表达式, 使用以下原型:
User.find({ _id: { $in: ["5b66577c2f05bf1eb07956e0" ,"5b66b1879526eb0444d047cb"] }})
.then(users =>{
console.log("user", users)
})
答案 1 :(得分:0)
在postman参数中传递用户ID,然后将其分配给变量,然后将其传递给为db活动编写的函数。然后是modal.findone(id);