如何找到MongoDB?Javascript

如何找到MongoDB?Javascript,javascript,mongodb,Javascript,Mongodb,如何使用以下收集数据在mongodb中进行嵌套查找: { "_id": { "$oid": "585b998297f53460d5f760e6" }, "newspaper": { "playerID": "57bffe76b6a70d6e2a3855b7", "playerUsername": "dennis", "player_newspaper": "{\"ID\":\"57bffe76b6a70d6e2a3855b7\",\"Username\":\"Dennis\

如何使用以下收集数据在mongodb中进行嵌套查找:

{
 "_id": {
  "$oid": "585b998297f53460d5f760e6"
 },
 "newspaper": {
  "playerID": "57bffe76b6a70d6e2a3855b7",
  "playerUsername": "dennis",
  "player_newspaper": "{\"ID\":\"57bffe76b6a70d6e2a3855b7\",\"Username\":\"Dennis\",\"itemName\":\"Corn\",\"Comment\":\"Jagung Promo\",\"Date\":\"12/27/2016\"}"
 }
}
我的代码:

var datex = new Date();
var dates = datex.getMonth() + '/' + datex.getDate() + '/' + datex.getFullYear();
db.playerNewspaper.remove( {"newspaper.player_newspaper.Date": dates } } } ) ;
这是行不通的

我就是这样插入数据的:

var currentPlayer = {
        "playerID": playerID,
        "playerUsername": playerUsername,
        "player_newspaper": newspaper

    }; // we construct a new player from the data we are about to input into the player data

    playerDataList.insert(
    {
      "newspaper" : currentPlayer
    } // Uses the $set mongo modifier to set old player data to the current player data
    );

您的查询看起来不错,但数据中存在问题。根据您的查询条件,您假设
player\u-paper
是一个
对象
,但您在那里显示的
player\u-paper
数据是一个
字符串
。因此,在您的查询
“paper.player\u paper.Date”:Date
中未找到任何文档,这就是查询不起作用的原因

您的文档结构应如下所示:

{
    "_id" : ObjectId("585b998297f53460d5f760e6"),
    "newspaper" : {
        "playerID" : "57bffe76b6a70d6e2a3855b7",
        "playerUsername" : "dennis",
        "player_newspaper" : {
            "ID" : "57bffe76b6a70d6e2a3855b7",
            "Username" : "Dennis",
            "itemName" : "Corn",
            "Comment" : "Jagung Promo",
            "Date" : "12/27/2016"
        }
    }
}
那么您的查询就可以正常工作了

var datex = new Date();
var dates = datex.getMonth() + '/' + datex.getDate() + '/' + datex.getFullYear();
db.playerNewspaper.remove( {"newspaper.player_newspaper.Date": dates } } } ) ;

您的查询看起来不错,但数据中存在问题。根据您的查询条件,您假设
player\u-paper
是一个
对象
,但您在那里显示的
player\u-paper
数据是一个
字符串
。因此,在您的查询
“paper.player\u paper.Date”:Date
中未找到任何文档,这就是查询不起作用的原因

您的文档结构应如下所示:

{
    "_id" : ObjectId("585b998297f53460d5f760e6"),
    "newspaper" : {
        "playerID" : "57bffe76b6a70d6e2a3855b7",
        "playerUsername" : "dennis",
        "player_newspaper" : {
            "ID" : "57bffe76b6a70d6e2a3855b7",
            "Username" : "Dennis",
            "itemName" : "Corn",
            "Comment" : "Jagung Promo",
            "Date" : "12/27/2016"
        }
    }
}
那么您的查询就可以正常工作了

var datex = new Date();
var dates = datex.getMonth() + '/' + datex.getDate() + '/' + datex.getFullYear();
db.playerNewspaper.remove( {"newspaper.player_newspaper.Date": dates } } } ) ;

嗨@Shaisb,如果数据和我的一样,那么查询会是什么样子呢?我认为你应该改变你的数据结构。这不是一个有效的结构,或者很遗憾,您在更新或添加时这样做了@DennisLiuSo如何插入类似于您的结构的数据?如何在
“player\u paper”:paper
中获取
newpaper
?检查结构“player_paper”:paper该paper是一个类,我将其转换为json字符串。Hi@shaisb,那么如果数据与我的类似,那么查询将是什么样子?好吧,我认为您应该更改数据结构。这不是一个有效的结构,或者很遗憾,您在更新或添加时这样做了@DennisLiuSo如何插入类似于您的结构的数据?如何在
“player\u paper”:paper
中获取
newpaper
?检查结构“player_paper”:该报纸是我转换为json字符串的类。