Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.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
Javascript 模式的顺序在Node.JS中重要吗?_Javascript_Node.js_Mongodb_Schema_Mean Stack - Fatal编程技术网

Javascript 模式的顺序在Node.JS中重要吗?

Javascript 模式的顺序在Node.JS中重要吗?,javascript,node.js,mongodb,schema,mean-stack,Javascript,Node.js,Mongodb,Schema,Mean Stack,我将为我刚刚构建的表单创建一个巨大的模式。。。这就是说,我的模式顺序必须模仿形式顺序吗,或者它可以让所有的输入按照我把它们放进去的任何顺序吗? 下面的例子。 会是这样吗 // link to mongoose var mongoose = require('mongoose'); // define the article schema var mapSchema = new mongoose.Schema({ created: { type: Date, default: Dat

我将为我刚刚构建的表单创建一个巨大的模式。。。这就是说,我的模式顺序必须模仿形式顺序吗,或者它可以让所有的输入按照我把它们放进去的任何顺序吗? 下面的例子。 会是这样吗

// link to mongoose
var mongoose = require('mongoose');

// define the article schema
var mapSchema = new mongoose.Schema({
created: {
   type: Date,
   default: Date.now
},
dd1: {
    type: String,
    default: ''
},
dd2: {
    type: String,
    default: ''
},
com1: {
    type: String,
    default: ''
},
com2: {
    type: String,
    default: ''
}
});

// make it public
module.exports = mongoose.model('Map', mapSchema);
// link to mongoose
var mongoose = require('mongoose');

// define the article schema
var mapSchema = new mongoose.Schema({
 created: {
   type: Date,
   default: Date.now
},
dd1: {
    type: String,
    default: ''
},
com1: {
    type: String,
    default: ''
},
 dd2: {
    type: String,
    default: ''
},
com2: {
    type: String,
    default: ''
}
});

// make it public
module.exports = mongoose.model('Map', mapSchema);
还是一定要这样

// link to mongoose
var mongoose = require('mongoose');

// define the article schema
var mapSchema = new mongoose.Schema({
created: {
   type: Date,
   default: Date.now
},
dd1: {
    type: String,
    default: ''
},
dd2: {
    type: String,
    default: ''
},
com1: {
    type: String,
    default: ''
},
com2: {
    type: String,
    default: ''
}
});

// make it public
module.exports = mongoose.model('Map', mapSchema);
// link to mongoose
var mongoose = require('mongoose');

// define the article schema
var mapSchema = new mongoose.Schema({
 created: {
   type: Date,
   default: Date.now
},
dd1: {
    type: String,
    default: ''
},
com1: {
    type: String,
    default: ''
},
 dd2: {
    type: String,
    default: ''
},
com2: {
    type: String,
    default: ''
}
});

// make it public
module.exports = mongoose.model('Map', mapSchema);
我的模式顺序是否必须模仿表单顺序,或者它是否可以将所有输入按任何顺序放入

mongoose.Schema
接受JavaScript对象作为其参数。所以你的问题可以归结为:

JavaScript对象是否知道其键的定义顺序?

答案是:不,JavaScript对象中不维护键顺序。JS规范明确声明对象是无序的键/值集合。()

因此,
mongoose.Schema
不能依赖键顺序,即使它绑定到,这意味着您可以按照自己喜欢的方式自由排序键


我们也可以从另一方面来解决这个问题:

像表单字段顺序这样的前端更改是否会迫使我重写数据库后端代码?

答案是:不,这不太可能。我们甚至可以在不研究任何规范的情况下忽略这种想法,因为它没有任何意义