【发布时间】:2013-05-15 23:19:20
【问题描述】:
我在这个话题上搜索了很多,但我完全迷路了。 这是我的问题(我将 node.js 与 mongojs 一起使用):
我想要这样的文件:
{
"_id" : ObjectId("50ce2f7f98fa09b20d000001"),
"beginTime" : 1355689855016,
"tags" : {
"primary": [ 29, 12, 16],
"secondary": [6, 8, 9]
},
"user" : "50bdddc601de4681d666835f"
}
但是如果我尝试在“primary”下推送新标签(注意这个字段来自变量),就像这样
tags = {};
tags[request.body.relevance] = request.body.tag;
return db.activities.update({
'_id': db.ObjectId(request.body.activity),
'user': request.session.user.id
}, {
$push: {
tags: tags
}
});
然后我得到
{ "_id" : ObjectId("50ce2f7f98fa09b20d000001"), "beginTime" : 1355689855016, "tags" : [ { "primary" : 29 }, { "primary" : "24" }, { "primary" : "1" } ], "user" : "50bdddc601de4681d666835f" }
我尝试了许多其他变体,包括嵌套 $push(witch 将其转换为字段 o.o)。无论如何,我总是失败。也是在这一点上我真的很饿T_T
请帮助我。谢谢。
【问题讨论】:
-
这对我来说是正确的。你是如何查询文件的? Mongo 将您的数组分开以使它们可搜索。
-
对不起,“您如何查询文档”是什么意思? (我忘记提到的数据是什么?)
标签: javascript mongodb mongojs