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' 的 siteid

谢谢; 到目前为止,这是我想出的:

    ' 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。然后用倒数第二个语句注释掉那个太返回值Null。

4

0 回答 0