csharp mongodb 드라이버를 사용하여 목록에서 항목을 업데이트하는 방법은 무엇입니까?

IPE

항목의 'voteId'필드를 일치시켜 voteResultList의 항목을 업데이트하려고합니다.

문서:

{
   voteDocumentId: "....",
   voteResultList: [
       {
           voteId: "....",
           voteResult: "NA"
       },
       {
           voteId: "....",
           voteResult: "Against"
       }
       ....
   ]
}

몽고에서는이 명령을 사용할 수 있고 제대로 작동합니다.

db.getCollection('VoteCollection').update({'voteDocumentId': '....', 'voteResultList.voteId': '....'},{'$set': {'voteResultList.$.voteResult': 'Approve'}})

csharp mongo 드라이버를 사용하는 csharp 코드에서이 json 문서에서 필터 bson 문서를 생성했습니다.

{'voteDocumentId': '....', 'voteResultList.voteId': '....'}

그런 다음이 코드로 업데이트 bson 문서를 생성했습니다.

Builders<BsonDocument>.Update.Set("voteResultList.$.voteResult", "Approve")

하지만 MongoCollection.UpdateMany (filter, update), mongoUpdateResult.ModifiedCount = 0을 호출하고 mongodb 문서에서 아무것도 변경되지 않았기 때문에 분명히 올바르게 수행하고 있지 않습니다.

그래서 이것을하는 올바른 방법은 무엇입니까?

감사!

멍청한

여기에 답변을 기반으로 한 완전한 작업 예제가 있습니다 .Mongo 업데이트 배열 요소 (.NET 드라이버 2.0)

using MongoDB.Bson;
using MongoDB.Driver;
using System;
using System.Linq;

namespace ConsoleApp1
{
    public class VoteCollection
    {
        public ObjectId Id;
        public string voteDocumentId;
        public VoteResult[] voteResultList;
    }

    public class VoteResult
    {
        public string voteId;
        public string voteResult;
    }

    public class Program
    {
        public static IMongoDatabase _db;

        static void Main(string[] args)
        {
            var collection = new MongoClient().GetDatabase("test").GetCollection<VoteCollection>("VoteCollection");

            collection.InsertOne
            (
                new VoteCollection
                {
                    voteDocumentId = "foo",
                    voteResultList = new []
                    {
                        new VoteResult { voteId = "bar1", voteResult = "NA" },
                        new VoteResult { voteId = "bar2", voteResult = "Against" },
                    }
                }
            );

            var filter = Builders<VoteCollection>.Filter.Where(voteCollection => voteCollection.voteDocumentId == "foo" && voteCollection.voteResultList.Any(voteResult => voteResult.voteId == "bar1"));
            var update = Builders<VoteCollection>.Update.Set(voteCollection => voteCollection.voteResultList[-1].voteResult, "Approve");
            collection.UpdateMany(filter, update);

            Console.ReadLine();
        }
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Javascript를 사용하여 웹 사이트에서 항목 목록을 업데이트하는 방법은 무엇입니까?

분류에서Dev

pymongo를 사용하여 Mongodb에서 여러 값을 업데이트하는 방법은 무엇입니까?

분류에서Dev

diff 항목 콜백을 사용하여 리사이클 러보기에서 항목을 업데이트하는 방법은 무엇입니까?

분류에서Dev

jquery를 사용하여 목록 항목에서 부트 스트랩 글 리피 콘을 슬라이드하는 방법은 무엇입니까?

분류에서Dev

servicestack 유형 클라이언트를 사용하여 redis 목록의 항목을 업데이트하는 방법은 무엇입니까?

분류에서Dev

목록에서 관련 항목을 계산하여 인스턴스 목록을 업데이트하는 방법은 무엇입니까?

분류에서Dev

Linq를 사용하여 조회 목록에서 일치 항목을 얻는 방법은 무엇입니까?

분류에서Dev

Linq를 사용하여 조회 목록에서 일치 항목을 얻는 방법은 무엇입니까?

분류에서Dev

MongoDB에서 필드 이름 목록을 가져오고 사용하는 방법은 무엇입니까?

분류에서Dev

클라이언트 측 Javascript를 사용하여 DynamoDB에서 항목을 읽는 방법은 무엇입니까?

분류에서Dev

morphia를 사용하여 mongodb에 객체 목록을 삽입하는 방법은 무엇입니까?

분류에서Dev

서버에서 제품 목록을 업데이트하는 가장 좋은 방법은 무엇입니까? (IOS)

분류에서Dev

파이썬에서 하나의 print ()를 사용하여 목록 항목을 한 줄이 아니라 한 줄씩 인쇄하는 방법은 무엇입니까?

분류에서Dev

스레드를 사용하여 목록보기에 항목을 추가하는 방법은 무엇입니까?

분류에서Dev

dynamodb에서 단일 키 값으로 여러 항목을 업데이트하는 방법은 무엇입니까?

분류에서Dev

서랍 레이아웃에서 항목을 변경 / 업데이트하는 방법은 무엇입니까?

분류에서Dev

목록의 각 항목에서 숫자를 사용하여 목록을 정렬하는 방법은 무엇입니까? 파이썬

분류에서Dev

두 목록에서 단일 항목이 아닌 항목을 제외하는 방법은 무엇입니까?

분류에서Dev

목록의 항목 값을 업데이트하는 방법은 무엇입니까?

분류에서Dev

포함 된 목록의 항목을 업데이트하는 방법은 무엇입니까?

분류에서Dev

클릭 후 목록보기 항목을 업데이트하는 방법은 무엇입니까?

분류에서Dev

Android : 목록보기 항목을 업데이트하는 방법은 무엇입니까?

분류에서Dev

다른 항목에 따라 항목을 업데이트하는 SQLite 트리거를 만드는 방법은 무엇입니까?

분류에서Dev

PyWinAuto를 사용하여 목록 상자에 항목을 추가하는 방법은 무엇입니까?

분류에서Dev

for 루프를 사용하여 목록에 항목을 추가하는 방법은 무엇입니까?

분류에서Dev

VB의 클래스를 사용하여 목록에 항목을 추가하는 방법은 무엇입니까?

분류에서Dev

mvvm을 사용하여 목록 상자 wpf에서 선택한 항목의 데이터를 표시하는 방법은 무엇입니까?

분류에서Dev

목록보기에서 데이터베이스의 항목을 표시하는 방법은 무엇입니까?

분류에서Dev

다른 목록에있는 경우 List <Objects>에서 모든 중복 항목을 업데이트하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    Javascript를 사용하여 웹 사이트에서 항목 목록을 업데이트하는 방법은 무엇입니까?

  2. 2

    pymongo를 사용하여 Mongodb에서 여러 값을 업데이트하는 방법은 무엇입니까?

  3. 3

    diff 항목 콜백을 사용하여 리사이클 러보기에서 항목을 업데이트하는 방법은 무엇입니까?

  4. 4

    jquery를 사용하여 목록 항목에서 부트 스트랩 글 리피 콘을 슬라이드하는 방법은 무엇입니까?

  5. 5

    servicestack 유형 클라이언트를 사용하여 redis 목록의 항목을 업데이트하는 방법은 무엇입니까?

  6. 6

    목록에서 관련 항목을 계산하여 인스턴스 목록을 업데이트하는 방법은 무엇입니까?

  7. 7

    Linq를 사용하여 조회 목록에서 일치 항목을 얻는 방법은 무엇입니까?

  8. 8

    Linq를 사용하여 조회 목록에서 일치 항목을 얻는 방법은 무엇입니까?

  9. 9

    MongoDB에서 필드 이름 목록을 가져오고 사용하는 방법은 무엇입니까?

  10. 10

    클라이언트 측 Javascript를 사용하여 DynamoDB에서 항목을 읽는 방법은 무엇입니까?

  11. 11

    morphia를 사용하여 mongodb에 객체 목록을 삽입하는 방법은 무엇입니까?

  12. 12

    서버에서 제품 목록을 업데이트하는 가장 좋은 방법은 무엇입니까? (IOS)

  13. 13

    파이썬에서 하나의 print ()를 사용하여 목록 항목을 한 줄이 아니라 한 줄씩 인쇄하는 방법은 무엇입니까?

  14. 14

    스레드를 사용하여 목록보기에 항목을 추가하는 방법은 무엇입니까?

  15. 15

    dynamodb에서 단일 키 값으로 여러 항목을 업데이트하는 방법은 무엇입니까?

  16. 16

    서랍 레이아웃에서 항목을 변경 / 업데이트하는 방법은 무엇입니까?

  17. 17

    목록의 각 항목에서 숫자를 사용하여 목록을 정렬하는 방법은 무엇입니까? 파이썬

  18. 18

    두 목록에서 단일 항목이 아닌 항목을 제외하는 방법은 무엇입니까?

  19. 19

    목록의 항목 값을 업데이트하는 방법은 무엇입니까?

  20. 20

    포함 된 목록의 항목을 업데이트하는 방법은 무엇입니까?

  21. 21

    클릭 후 목록보기 항목을 업데이트하는 방법은 무엇입니까?

  22. 22

    Android : 목록보기 항목을 업데이트하는 방법은 무엇입니까?

  23. 23

    다른 항목에 따라 항목을 업데이트하는 SQLite 트리거를 만드는 방법은 무엇입니까?

  24. 24

    PyWinAuto를 사용하여 목록 상자에 항목을 추가하는 방법은 무엇입니까?

  25. 25

    for 루프를 사용하여 목록에 항목을 추가하는 방법은 무엇입니까?

  26. 26

    VB의 클래스를 사용하여 목록에 항목을 추가하는 방법은 무엇입니까?

  27. 27

    mvvm을 사용하여 목록 상자 wpf에서 선택한 항목의 데이터를 표시하는 방법은 무엇입니까?

  28. 28

    목록보기에서 데이터베이스의 항목을 표시하는 방법은 무엇입니까?

  29. 29

    다른 목록에있는 경우 List <Objects>에서 모든 중복 항목을 업데이트하는 방법은 무엇입니까?

뜨겁다태그

보관