1

mongodBのクエリを構成して、「ストアドプロシージャ」を作成するか、アクティブとマークされたIDを選択してそのフィールドをすぐに削除するか、非アクティブとしてマークするリクエストを作成するにはどうすればよいですか。どちらかがパフォーマンスが優れています。コレクションの構造は次のとおりです。

    db = server.GetDatabase("test")
    siteCollection = db("test")
    collection = db.GetCollection(Of BsonDocument)("siteids")
    Dim book As BsonDocument = New BsonDocument() _
                    .Add("siteid", BsonValue.Create(BsonType.String)) _
                    .Add("active", BsonValue.Create(BsonType.String))
    collection.Insert(book)

Javaバージョンを見つけましたが、これが機能するかどうか、および.net構文とは何ですか?

db.things.find( { x : 4 } , { j : 1 } )

これは明らかにx=4のレコードを検索しますが、j = 1の場合にのみ返されるため、active='N'の場合に1つのサイトIDが必要です。

ありがとう; これが私がこれまでに思いついたものです:

    ' Dim squery = Query.EQ("active", "Y")

    Dim squery = Query.EQ("active", "Y")
    Dim ssort = SortBy.Null
    Dim uupdate = Update.[Set]("active", "N")
    Dim result = collection.FindAndModify(squery, ssort, uupdate)


    ' Dim dresult = collection.FindAs(Of BsonDocument)(squery)
    Dim newSiteId As String = dresult.Count

コメントアウトされた最初の行を見るとわかるように、単純な選択が実装されると思いましたが、それはnullに戻ります。次に、最後から2番目のステートメントで、戻り値がNullであることをコメントアウトしました。

4

0 に答える 0