首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoDB -无法查询新值的更新的$ref值

MongoDB -无法查询新值的更新的$ref值
EN

Stack Overflow用户
提问于 2014-07-31 23:04:30
回答 1查看 315关注 0票数 0

我贴出了以下问题,答案是正确的:

MongoDB - Updating only $ref from DBRef field type

尽管如此,当我像这样执行find方法时:

{ "codeId“:{ "$ref”:“代码”,"$id“:{ "$oid”:"4ff1c08c6ef25616ce21c4b6"}}

文件没有归还..。知道为什么吗?

更新后,文档按如下方式存储:

{ "_id“:{ "$oid”:"5097ae1cd3159eb52d05574c"},"codeId“:{ "$ref”:“代码”,"$id“:{ "$oid”:"4ff1c08c6ef25616ce21c4b6"}}

顺便说一句,如果我使用uMongo图形用户界面,在这个存储的文档上选择更新选项,并保存它,而不做任何更改,然后再次进行查找查询,查询将返回该文档.

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-01 00:34:03

这是一个明显的DBRef“调整”的东西.

作为一个临时的(但可能是正确的)修复,我设法解决了这个问题,执行这个javascript过程:

代码语言:javascript
复制
var cursor = db.menu.find( { "codeId.$ref" : "version" } );

while( cursor.hasNext() )
{
    var document = cursor.next();

    db.menu.update(
        document,
        { $set: {"codeId" : DBRef("code", document.codeId.$id) }},
        { upsert:  false, multi: true }
    );
}

不过,我不会认为这是实现我想要的最好的方法.任何其他解决方案,涉及较少的线?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25070367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档