gpt4 book ai didi

node.js - Mongoose 中的动态模式键

转载 作者:太空宇宙 更新时间:2023-11-04 00:43:35 25 4
gpt4 key购买 nike

我有一个简单的要求,即获取动态键及其值以插入到 mongo 中。

像这样:

[
{"key1": "val1"},
{"key2": "val2"}
]

为此,我创建了架构:当我读到[Schema.Types.Mixed]时,它只会使分配值的数据类型动态化,而不是我的情况下的关键。

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var myschema = new Schema({ key: [Schema.Types.Mixed] });

module.exports = mongoose.model('DataCollection', myschema);

任何人都可以指出,我缺少什么吗?这是我的输出,显示空白值。

提前致谢。

enter image description here

最佳答案

我认为不可能真正拥有动态 key ,因为这违背了架构的目的,但您可以这样做:

var KeyValueSchema = new Schema({
key : String,
value : String
});

module.exports = mongoose.model('KeyValueCollection', KeyValueSchema);

或者使用混合数据类型,您可以存储整个 JSON 对象。例如使用此架构:

var mySchema = new Schema({
data : Schema.Types.Mixed
});

module.exports = mongoose.model('DataCollection', mySchema);

您可以插入如下内容:

.post(function(req, res) {
var collection = new DataCollection();
collection.data = {'key' : 'value'};
collection.save(function(err) {
if(err) res.send(err);
res.json({message:'Data saved to collection.'});
});
});

关于node.js - Mongoose 中的动态模式键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35733079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com