Meteor에서 mongo 콜렉션을 업데이트하는 데 문제가 있습니다.MeteorJS의 MongoDB 콜렉션에서 하위 문서 배열을 업데이트하는 방법
아마도 나는 단지 $addtoset
이 어떻게 작동하는지 이해하지 못할 것입니다.
{
_id: "bKXXrpYmppFBfq9Kx",
title: "This Is a Title",
body: "Blah Blah Blah Body Goes Here",
userId: "W9YEs84QFhZzJeB6j",
author: "Users Name",
timestamp: ISODate("2016-06-07T20:37:05.775Z"),
score: [
{
userId: ""W9YEs84QFhZzJeB6j",
score: 1
}
],
overallScore: 1,
votedOnBy: [
"W9YEs84QFhZzJeB6j"
],
timesVotedOn: 1
}
:
여기
var someUser = Meteor.users.findOne("W9YEs84QFhZzJeB6j");
var NewIdea = Ideas.insert({
title: "This Is a Title",
body: "Blah Blah Blah Body Goes Here",
userId: someUser._id,
author: someUser.profile.name,
timestamp: new Date(now - 5 * 3600 * 1000),
score: [],
overallScore: 0,
votedOnBy: [],
timesVotedOn: 0
});
내가 그것을 업데이트 후 같이 할 것입니다 :
은 여기 내 기본 문서, 더 많거나 적은 이것이 내가 내 프로젝트를 초기화 내 fixtures.js
에서이다
업데이트 할 때 사용하는 코드는 다음과 같습니다 (작동하지 않음).
Ideas.update("bKXXrpYmppFBfq9Kx", {
$addToSet: {score: {userId: someUser._id, score: 1}},
$inc: {overallScore: 1},
$addToSet: {votedOnBy: someUser._id},
$inc: {timesVotedOn: 1}
});
여기에 (업데이트 후) 몽고 콘솔에서 실제 문서입니다 : 전혀 존재하지
{
"_id" : "bKXXrpYmppFBfq9Kx",
"title" : "This Is a Title",
"body" : "Blah Blah Blah Body Goes Here",
"userId" : "W9YEs84QFhZzJeB6j",
"author" : "Users Name",
"timestamp" : ISODate("2016-06-07T20:37:05.775Z"),
"votedOnBy" : [
"W9YEs84QFhZzJeB6j"
],
"timesVotedOn" : 1
}
공지 사항 overallScore
있고 score
.
저는 Meteor와 Mongo를 처음 접했습니다 (아마도 명백합니다). 아무도 내가 여기서 뭘 잘못하고 있는지 알아? 또는이 업데이트를 올바르게 수행 할 수 있도록 필요한 항목이 있습니까?
감사 @Michel 플로이드, 당신은 데이터베이스 출력에서 다른 비 필요한 정보를 제거 :이 문제를 해결하려면이 같은
update
물품. –귀하의 문제를 파악하기 위해 그 일을해야했습니다. 불행히도 귀하의 코드가 올바르게 보이기 때문에 솔루션이 여전히 누락되었습니다. –