2014-03-27 19 views
2

我想返回文檔的追隨者數組中沒有用戶標識的所有文檔。如何查詢沒有特定ID的mongodb中的所有文檔?

我正在使用貓鼬與Node.Js,但常規的mongodb方式應該沒問題。

編輯

添加更多的信息:

下面是一個例子文件:

{ 
    __v: 0, 
    _id: ObjectId("53333273adf3ede81f0ce23b"), 
    title: "fashion", 
    date: 1395864179, 
    followers: [ 
    ObjectId("53343ac3abcd1b6016c52c1b") 
    ] 
} 

我試着寫,但該查詢不知道$寧是因爲這些示例正確mongodb與確保文檔中的字段不等於一系列事物相反,我想確保文檔的數組不包含單個元素。

Story.find({followers: {$nin: [user]}}, "_id title", {$sort: {date: {{$gte: 30 } }, skip: 5, limit: 100}, function(err, results) { 

型號:

var Story = new Schema({ 
    title: {type: String}, 
    followers: [{ type: ObjectId, ref: 'User' }], 
    date: {type: Number} 
}, {collection: "stories"}); 

module.exports = mongoose.model('Story', Story); 

到服務器的呼叫:(注意:我從一個字符串將其轉換成一個對象ID

GET /stories?userid=53343ac3abcd1b6016c52c1b&count=0 200 201ms - 2b 
+0

很多信息在這裏。但不知道什麼與你的問題有關。你想找到所有沒有「用戶」ID的文件?什麼從?在追隨者?從每個文件?當然,表達你想要做的比這個問題更簡單。嘗試做到這一點。 –

+0

閱讀第一行...它是一樣簡單,因爲它獲得...我爲人們添加信息,因爲我收到了一些意見和有人誰添加了答案,然後刪除它要求更多的信息 – Lion789

+0

嗨,你可以顯示任何文件在追隨者數組中有用戶id的結構? – ammu

回答

0

你可以做到這一點與下面的查詢;

Story.inventory.find({followers: {$exists: true, $nin: [ "53343ac3abcd1b6016c52c1b" ]}}, 
        {$sort: {date: {{$gte: 30 } }, skip: 5, limit: 100, function(err, results) { 

}); 

此查詢將sele在User集合中存在followers字段且其值不等於53343ac3abcd1b6016c52c1b的所有文檔。

注意:不要將id轉換爲Object,因爲貓鼬會爲您做這件事。

相關問題