2013-08-01 47 views
0

mongo documentation說,$不是運營商我想要做什麼,但似乎並不奏效:

下返回單個文件:

db.user.find({_id:ObjectId("51f09113cc0bd4a4a3958c96")}) 

這將返回所有27個文件:

db.user.find() 

這不返回文檔:

db.user.find({$not:{_id:ObjectId("51f09113cc0bd4a4a3958c96")}}) 

那麼我做錯了什麼?

回答

4

你應該使用$ne

db.user.find({"_id" : {$ne: ObjectId("51f09113cc0bd4a4a3958c96") }})

+0

明白了,謝謝!如果您還可以簡明地解釋爲什麼我的思維模型爲什麼是錯誤的以及何時使用$ not not –

+0

@BT'$ not'與另一個操作符[請參閱文檔](http:// docs.mongodb。組織/手冊/參考/運營商/不/ /) –

+0

哎呀,謝謝! –

2

使用$ne

db.user.find(_id: {$ne: ObjectId("51f09113cc0bd4a4a3958c96")})