2016-05-02 4 views
0

Мой проект на C#, у меня есть коллекция mongodb, я использую его для очереди. Например, у меня есть некоторые пункты в этой очереди, и я хочу изменить положение моих деталей:Как изменить позицию позиции в очереди?

[{id: 1, qPosition: 1}, {id: 2, qPosition: 2}]

[{id: 1, qPosition: 2}, {id: 2, qPosition: 1}] И как автоматическое поле приращения для документа, как SQL DB?

ответ

0

Если вы имеете в виду, что содержание обновления базы данных Используйте эту команду

using MongoDB.Bson; 
using MongoDB.Driver; 

и

var info_id = Query.EQ("_id", "1"); 
IMongoUpdate info_up = Update.Set("qPosition","2"); 
cinfo.Update(info_id, info_up); 

var info_id = Query.EQ("_id", "2"); 
IMongoUpdate info_up = Update.Set("qPosition","1"); 
cinfo.Update(info_id, info_up); 

другой путь

var info_id1 = Query.EQ("_id", "1"); 
    IMongoUpdate info_up2 = Update.Set("qPosition","2"); 
    var info_id2 = Query.EQ("_id", "2"); 
    IMongoUpdate info_up2 = Update.Set("qPosition","1"); 

    cinfo.Update(info_id1, info_up1).Update(info_id2, info_up2); 

в верхнем пути отправить один запрос к БД

+1

thx, но это очень просто, возможно, вы знаете, как сделать это более красивым, без двух вызовов db. –

+1

Вопрос: как прирастить поле, как SQL db, на документе mongo? –

+0

вы можете проверить [link] (https://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/) для автоматического увеличения поля в mongodb @ aleksandr-repetskyi – Anaramer

Смежные вопросы