Node.js TypeError:无法设置属性';排序';这是我在尝试对我的id进行排序时遇到的错误';数据库中有什么

Node.js TypeError:无法设置属性';排序';这是我在尝试对我的id进行排序时遇到的错误';数据库中有什么,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,这是我在尝试对数据库中的id进行排序时遇到的错误 下面是它给我一个错误的代码片段 router.post('/reorder pages',函数(req,res){ 变量id=请求主体['id[]']; var计数=0; 对于(变量i=0;i

这是我在尝试对数据库中的id进行排序时遇到的错误

下面是它给我一个错误的代码片段

router.post('/reorder pages',函数(req,res){
变量id=请求主体['id[]'];
var计数=0;
对于(变量i=0;i
问题是您正在执行
page.sorting=count即使在特定的
id
上找不到文档。 所以像这样的事情可能会挽救你的一天

router.post('/reorder-pages', function(req, res) {

  var ids= req.body['id[]'];
  var count = 0;
  for(var i = 0; i < ids.length ; i++){
    var id = ids[i];
    count++;

    (function(count){
      
      Page.findById(id, function (err,page){
       
        if(err){
          console.log(err);
        }else{
           page.sorting = count;  //This is the line that is showing error 
           page.save(function(err){
            if(err){
              return console.log(err);
            }
        });
        }
        
        
      });
    }) (count);
  }
  
});
router.post('/reorder pages',函数(req,res){
变量id=请求主体['id[]'];
var计数=0;
对于(变量i=0;i

因此,在这里,我们仅在找到具有特定id的页面时访问
页面对象
,然后保存它。

问题是您正在执行
page.sorting=count即使在特定的
id
上找不到文档。 所以像这样的事情可能会挽救你的一天

router.post('/reorder-pages', function(req, res) {

  var ids= req.body['id[]'];
  var count = 0;
  for(var i = 0; i < ids.length ; i++){
    var id = ids[i];
    count++;

    (function(count){
      
      Page.findById(id, function (err,page){
       
        if(err){
          console.log(err);
        }else{
           page.sorting = count;  //This is the line that is showing error 
           page.save(function(err){
            if(err){
              return console.log(err);
            }
        });
        }
        
        
      });
    }) (count);
  }
  
});
router.post('/reorder pages',函数(req,res){
变量id=请求主体['id[]'];
var计数=0;
对于(变量i=0;i

因此,这里我们只访问
页面对象
,如果找到具有特定id的页面,然后保存它。

我遇到了另一个类似于CastError的错误:如果仔细查看
20
中的
20之后有一个空格,则对模型“page”的路径“5f105c05c053fc5a3a3e44cd020”中的值“5f15fc5a34cdd020”进行转换失败“5F105C0553FC5A3E44CD020”
,因此这不是一个有效的id,因此该错误您可以告诉我如何修复它,然后您可以使用
trim()
方法。我遇到了另一个类似此CastError的错误:在路径“\u id”for model”页面上,值“5F105C0553FC5A3E44CD020”的Cast to ObjectId失败“如果仔细查看
“5F105C0553FC5A3E44CD020”
“5F105C0553FC5A3E44CD020”中的
20
后有一个空格,因此这不是一个有效的id,因此错误您可以告诉我如何修复它,然后您可以使用
trim()
方法。