如何根据此架构在集合“inputs”中找到值:
var inputJournalSchema = new Schema({
createdAt: {type: Date, default: Date.now},
inputs: [{ key: String, value: String}]
});
基本上,我想检查是否存在具有特定键的元素,如果存在,则检查哪个索引位置。
但我该怎么做?
答案 0 :(得分:0)
使用架构创建对象后:
object.inputs[0].key;
这是一种查找特定键的简单方法,假设对象存储在数组中。如果对象没有存储在数组中,则不需要循环。
var findThis = 1;
var objects = [{}, {}, {}, {}];
objects.forEach(function (object) {
object.inputs.forEach(function (input, index) {
if (input.key == findThis) {
// logic for once found here
console.log(index);
}
});
});
此代码也可以包含在一个函数中,该函数使用键作为参数返回索引:
function findIndex (objects, key) {
objects.forEach(function (object) {
object.inputs.forEach(function (input, index) {
if (input.key == key) {
// logic for once found here
return index;
}
});
});
};