MongoDB 创建、查找和更改数组

MongoDB creating, finding from and changing an array

这是我想在 mongodb 中实现的,但作为 javascript 示例。

var array = [];

//Initiating an array
for(var i = 0; i < 30; i++) {
array[i] = 0;
}

//Changing a value at an index
array[14] = 1;

//Getting a value at an index
console.log(array[4]);

//Swapping Two Variables.
var temp = array[14];
array[14] = array[12];
array[12] = temp;

到目前为止我可以设置一个模式

var schema = new mongoose.Schema({
array: {Number: Number, Value: Number}
});

我可以稍后启动它

schema.statics.name = function(cb) {
var new = new Array({
{Number: 1, Value: 0},
{Number: 2, Value: 0},
...
{Number: 30, Value: 0}
});
 new.save();

我可以循环遍历它们

c.user.array.forEach(function (element) {
console.log(element.Number);
console.log(element.Value);
})

但我无法找到单个值或 setting/switching 它们。

对于编程语言中如此简单的事情来说似乎过于复杂;我在过去的几个小时里一直在尝试,但有太多的 {} 和 $'s 让我头疼。

据我所知,我应该使用 .find() 但没有示例说明架构中的内容是如何布局的。

架构:

array: [{value: Number}]

可以任意多次初始化:

backpack: [{value: 0}, {value:0}, {value:0}]

并且可以像

一样访问
.array[1].value

more info on sub docs and children

感谢 Tomalak