mongoose检索出来的model,属性赋值问题
发布于 11 年前 作者 l3917055 5139 次浏览 最后一次编辑是 8 年前

用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,这块也不好用了,很奇怪,请先看上边的问题,下边这个异常情况,知道的话,也可以分享下经验

4 回复

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的 请指教。。

回到顶部