用mongoose检索出来一个model 比如 var modelA= mongoose.findOne(…); modelA没有属性test 直接用modelA.test={obeject};(一个json对象赋值) 然后再取modelA.test,就取不到
但还有特殊情况,用CNODE的开源代码 topics_id.forEach(function (id, i) { exports.getTopicById(id, proxy.done(function (topic, tags, author, last_reply) { topic.tags = tags; topic.author = author; //topic没有author属性 topic.reply = last_reply; topic.friendly_create_at = Util.format_date(topic.create_at, true); topic.friendly_short_create_at = Util.format_short_date(topic.create_at, true); topics[i] = topic;
console.log(author);
console.log(topic.author);
proxy.emit('topic_ready');
}));
});
这个代码之前好用,我升级了下mongoose,有其它一部分类似的代码不好用了,但这个仍然好用 今天我又升级了mongodb,这块也不好用了,很奇怪,请先看上边的问题,下边这个异常情况,知道的话,也可以分享下经验
mongoose是要定义schema的,增加字段,只能先这样:
schema.add({ test: mongoose.Schema.Types.Mixed })
谢谢回答,目前问题已经解决了,null的原因,是因为我两个不同的,数据合并后有冲突,导致部分数据检索出来是NULL,赋值出现问题。
PS,以上赋值方式可行
两个不同的数据库
@l3917055 亲,我也遇到了你的这问题,但是我没明白你的解决办法。。 “用mongoose检索出来一个model 比如 var modelA= mongoose.findOne(…); modelA没有属性test 直接用modelA.test={obeject};(一个json对象赋值) 然后再取modelA.test,就取不到" 虽然可以通过modelA.test取得,但是输出modelA是没有test的 请指教。。