Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在mongo db集合中添加到数组_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js 如何在mongo db集合中添加到数组

Node.js 如何在mongo db集合中添加到数组,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,晚上好, 我有我的模型 const mongoose=require('mongoose'); const Schema=mongoose.Schema; const widgetSchema=新模式({ 城市:{ 类型:字符串 } }) const userSchema=新模式({ 姓名:{ 类型:字符串, }, 密码:{ 类型:字符串 }, 小部件:[widgetSchema] }) const User=mongoose.model('User',userSchema); module.

晚上好,

我有我的模型

const mongoose=require('mongoose');
const Schema=mongoose.Schema;
const widgetSchema=新模式({
城市:{
类型:字符串
}
})
const userSchema=新模式({
姓名:{
类型:字符串,
},
密码:{
类型:字符串
},
小部件:[widgetSchema]
})
const User=mongoose.model('User',userSchema);
module.exports=用户从文档:,您可以使用

例如

app.post('/addwidget',异步(req,res)=>{
const{city}=req.body;
试一试{
const user=wait user.findOne({name:'1'});
user.widgets.push({city:'viking'});
等待user.save();
}捕捉(错误){
控制台日志(err);
}
});
从文档:,您可以使用

例如

app.post('/addwidget',异步(req,res)=>{
const{city}=req.body;
试一试{
const user=wait user.findOne({name:'1'});
user.widgets.push({city:'viking'});
等待user.save();
}捕捉(错误){
控制台日志(err);
}
});
试试这个:

  try {
    const user = await Research.findOneAndUpdate({ name: '1' }, { $push: { widgets: { city: 'viking' }} })
    if (user) return user;
    else return false;
  } catch (error) {
     console.log(error);
  }
试试这个:

  try {
    const user = await Research.findOneAndUpdate({ name: '1' }, { $push: { widgets: { city: 'viking' }} })
    if (user) return user;
    else return false;
  } catch (error) {
     console.log(error);
  }

您可以使用$push或$addToSet将新项目添加到widgets数组:

app.post('/addwidget', async (req, res) => {
    const { city } = req.body; // 
    try {
        const user = await User.findOneAndUpdate({"name": "1"} , { $push: { widgets: city }});
    }
    catch(err){
        console.log(err)
    }
})
或:


您可以使用$push或$addToSet将新项目添加到widgets数组:

app.post('/addwidget', async (req, res) => {
    const { city } = req.body; // 
    try {
        const user = await User.findOneAndUpdate({"name": "1"} , { $push: { widgets: city }});
    }
    catch(err){
        console.log(err)
    }
})
或: