如何在无模式猫鼬中添加对象数组?

Posted

技术标签:

【中文标题】如何在无模式猫鼬中添加对象数组?【英文标题】:how can i add array of objects in schemaless mongoose? 【发布时间】:2017-09-10 13:40:03 【问题描述】:
**model schema**
var mongoose = require('mongoose');
var Schema = mongoose.Schema;


var item = new Schema(
   name:type: String, 
   required: true,
   price:type: String
 )


 var object=new Schema(
 name:type: String, 
    required: true,
    items: [item]
);

api.js,发布数据到服务器

router.post('/objectss', function(req, res) 

  var object= new Object(); **

如何在数组中保存对象数组

**

    object.items.push(firstName: req.body.fname, lastName:      req.body.lname);
    object.name = req.body.name;
        object.save(function (err) 
        if(err) throw err;

        res.json(success: true, message:'allahuakbar');

    );

// 已保存!

);

angularjs 控制器

$scope.addProduct = function()

  $scope.items.push(
     fname: $scope.item.fname,
     lname: $scope.item.lname

  );

  $scope.item = ;

$scope.submitx = function(inv, item)

        console.log(inv);

        var object = 
      name:inv.name,
      fname:items.fname,
     totalValue:       0
  
            PostBlog.createInvoice(objects).then(function(data)
          console.log(data);
        );
            $scope.objects= ;
      

请查看此代码并帮助我!挣扎了几个星期。有一个对象数组,例如 a["name":carrot, "price":24, "":, etc]

【问题讨论】:

你的问题不是很简洁,所以很难理解你在这里想要做什么。如果我理解正确,您想将对象存储在items 中,但您不知道这些项目的确切字段。在这种情况下,将items 定义为items: [],而不是定义为items: [item]。现在您可以将任何对象推入items 【参考方案1】:

卡住的人参考这个而不是使用方法

 router.post('/invoices', function(req, res) //by making route in from              


    var invoice = new Invoice();

       for (var i = 0; i < req.body.length; i++) 

 invoice.items.push(name:req.body.fname[i].fname);
   
   invoice.name = req.body.name;
    //invoice.items.insertMany(items, function(error, next) 
        invoice.save(function (err) 
        if(err) throw err;

        res.json(success: true, message:'allahuakbar');

    );



  // saved!

 );

【讨论】:

以上是关于如何在无模式猫鼬中添加对象数组?的主要内容,如果未能解决你的问题,请参考以下文章

如何填充数组内的对象和猫鼬中的另一个数组中的所有用户字段

如何通过一次调用将一组对象推送到猫鼬中的数组中?

如何通过一次调用将一组对象推送到猫鼬中的数组中?

在子数组猫鼬中找到只有匹配对象的对象数组?

从猫鼬中的数组对象中选择特定项目

如何在猫鼬中更新嵌套数组值