Node.js 如果架构中不存在特定键,则无法获取mongoose中该键的值
我能够插入模式中定义的以外的新键值对 但是当我试着读取那个键的值时。我不能。我正在使用以下代码Node.js 如果架构中不存在特定键,则无法获取mongoose中该键的值,node.js,mongoose,mongoose-schema,Node.js,Mongoose,Mongoose Schema,我能够插入模式中定义的以外的新键值对 但是当我试着读取那个键的值时。我不能。我正在使用以下代码 UserEventsInfo = new mongoose.Schema({ name: String, username: String, event_movie:[String], event_tour:[String], event_restaurant:[String], event_lifetimeevents:[String] },{stri
UserEventsInfo = new mongoose.Schema({
name: String,
username: String,
event_movie:[String],
event_tour:[String],
event_restaurant:[String],
event_lifetimeevents:[String]
},{strict : false});
这里eventname是一个变量。
当我在模式中添加该键时,它返回值,即work's fine。
否则它不会返回任何值。看起来像是有一个像这样提交给mongoose的文件。以下是回应:
我们在无模式数据库中看到的好处是,我们的数据模型能够按照我们的功能要求以最快的速度发展,而不会对性能产生线性影响,也不会因为不必要的迁移而降低部署周期
如果您不希望在保存之前对数据进行规范化和验证,那么您不需要像Mongoose这样的工具,您可以直接使用驱动程序
在稍微挖掘之后,有一种方法可以做到这一点,但是您需要有一个类型为Schema.Types.Mixed
的字段。所以看起来是这样的:
UserEventsDetails.find({username:username},function(err,docs){
if(!docs.length)
{
res.send('datanotavailable');
}
else{
res.send(docs[0][eventname]);
}
});
在一个混合的模型上做一个查找,这样就回答了那个问题
****编辑
忘记链接的文档看起来有一个像这样提交给mongoose的文档。以下是回应:
我们在无模式数据库中看到的好处是,我们的数据模型能够按照我们的功能要求以最快的速度发展,而不会对性能产生线性影响,也不会因为不必要的迁移而降低部署周期
如果您不希望在保存之前对数据进行规范化和验证,那么您不需要像Mongoose这样的工具,您可以直接使用驱动程序
在稍微挖掘之后,有一种方法可以做到这一点,但是您需要有一个类型为Schema.Types.Mixed
的字段。所以看起来是这样的:
UserEventsDetails.find({username:username},function(err,docs){
if(!docs.length)
{
res.send('datanotavailable');
}
else{
res.send(docs[0][eventname]);
}
});
在一个混合的模型上做一个查找,这样就回答了那个问题
****编辑
忘了链接文档,你得到的错误是什么?我没有得到任何东西-它只返回回调函数中schemaconsole.log(err)中存在的那些键,可能会帮助你…如果键不存在,错误为null,文档为
[]
一个空的arrayconsole.log(docs[0][“eventname”]); 正在给我undefinedWhat's error you's get?我没有得到任何东西-它只返回回调函数中schemaconsole.log(err)中存在的那些键,可能会对您有所帮助…如果键不存在,错误为null,文档为[]
一个空的arrayconsole.log(文档[0][“eventname]”);给我的是未定义的