如何构建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的地方所以我想要一个siteid,其中active ='N'
感谢;这是我到目前为止所提出的:
' 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。