【发布时间】:2015-08-30 16:22:06
【问题描述】:
给定以下架构
{
"_id" : ObjectId("55e0ecfa422d86f0a3b37b90"),
"username" : "Michael",
"hostedEvents" : [
{ "_id" : "1", "usersApplied" : [ ] }
],
"joinedEvents" : [
{ "confirmed" : false }
]
}
我正在尝试将字符串“Lisa”推入 usersApplied 数组
现在我有一个有效的 mongodb 命令,但我想在 mongoose 中执行此操作:
db.users.update({username:'Michael', "hostedEvents._id": "1"},
{$addToSet: {"hostedEvents.$.usersApplied": {"username":"Lisa"}}});
我尝试在猫鼬中这样做:
Users.update({username:'Michael', "hostedEvents._id": "1"},
{$addToSet: {"hostedEvents.$.usersApplied": {"username":"Lisa"}}});
我正在尝试遵循here的建议
【问题讨论】:
-
那么问题出在哪里?除此之外,这些操作都没有尝试“推字符串 Lisa”(原文如此)?
-
问题已更新为现在使用“Lisa”。但我真正的问题是如何将 mongodb 命令转换为 mongoose。我的 mongoose 命令不起作用,但我的 mongodb 命令起作用。 mongoose 命令不会抛出错误,它只是不会推送字符串“Lisa”
-
“转换”是什么意思?不需要转换,因为它的工作原理相同。唯一缺少的是回调定义或者你是否想要返回一个承诺。如果您遇到错误或其他一些意外结果(在您的问题中再次没有提到您遇到了什么问题),那么这可能是您的架构定义不正确的原因。请实际说明您的问题,并可能发布您的架构。
-
这就是我的想法,该模式的工作方式与 mongodb 查询完全相同,我只需将 db.users 更改为用户。但是,这并没有像我预期的那样更新我的数据库,所以我想知道是否有其他正确的方法可以在 mongoose 中执行 mongodb 命令,或者我是否遗漏了一些东西
-
有没有问题?这真的不是问“我的代码看起来正确吗?”的地方。还有另一个网站:codereview.stackexchange.com