Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.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
Mongodb 从数组排序_Mongodb_Typescript_Sails.js - Fatal编程技术网

Mongodb 从数组排序

Mongodb 从数组排序,mongodb,typescript,sails.js,Mongodb,Typescript,Sails.js,我有一个json文件 var params=permissions.json [ { "module": "h1", "permission": "h1-menu" }, { "module": "h2", "permission": "h2-menu" }, { "module": "h3", "permission": "h3-menu" }, ] 蒙哥收藏 const permissions = await P

我有一个json文件

var params=permissions.json

[
  {
    "module": "h1", 
    "permission": "h1-menu"
  },
  {
    "module": "h2", 
    "permission": "h2-menu"
  },
  {
    "module": "h3", 
    "permission": "h3-menu"
  },
]
蒙哥收藏

const permissions = await Permissions.find();
[
  {
    "module": "h1", 
    "permission": "h1-menu"
  },
  {
    "module": "h2", 
    "permission": "h2-menu"
  }
]
现在我想从params数组中创建一个新数组,在对新数组进行排序后,我想在数据库中按单个创建每个数组对象

const PermissionsResult = await Permissions.createEach(newArray).fetch();

如何在json文件中创建新添加的权限到权限集合,而无需排序。这是sails js的初始化服务

var permissions_json = require('../../assets/init/permissions.json');
// Find permissions
  const permissions = await Permissions.find();
  if (permissions && permissions.length > 0) {
    return permissions;
  }
  const params = permissions_json;
  // Create permissions as per json data
  const PermissionsResult = await Permissions.createEach(params).fetch();

除非Mongo具有用于union和join等的JSON特定函数,否则您将使用Javascript来实现这一点

  • 在mongo集合中创建
    权限
    字段值的数组
  • 循环测试值(您的
    params
    var)
  • 如果测试值不在键值数组中,请将
    params
    中的相关条目添加到
    createMe
    数组中
  • 排序
    createMe
    ,然后创建记录
  • 或者,你能不能先对
    params
    数组进行排序,然后再对Waterline进行排序